2013-05-04 2 views
1

최신 앱에 Instagram API를 사용 중이며 앱 내 Instagram에서 로그 아웃하는 데 문제가 있습니다. 다른 사람이 문제가 있거나 해결 방법을 알고 있습니까?Instagram 로그 아웃 API

감사합니다.

답변

0

이 문제에 대한 간단한 해결책을 찾았습니다. 가장 우아한 것은 아니지만 여전히 유용 할 수 있습니다.

authorizeWithSafary 메서드가있는 Instagram.m에서 Safari에서 생성 된 igAppUrl 문자열을 여는 대신 instagram 로그인 페이지를 처리 ​​할 일부 webview에이 문자열이 포함 된 알림을 보냅니다.

그런 다음 shouldStartLoadWithRequest에서 현재 요청을 살펴보십시오. 실제 리디렉션 URI가 포함 된 요청은 일반적으로 오류로 끝나기 때문에이 요청을 받으면 (앱의 리디렉션 URI를 확인하는 것을 잊지 마세요) 웹보기를 숨 깁니다.

동시에이 URI를 받게되며, Safari로 승인하는 것처럼 응용 프로그램이 나머지 인증 로직을 이미 처리하게됩니다. 그러나 앱이이 URI를받지 못하면 수동으로 요청에서 가져 와서 대리인의 handleOpenURL 메소드를 수동으로 호출 할 수도 있습니다.

이러한 접근 방식을 사용하면 앱의 인스 타 그램 관련 캐시 데이터를 지우므로 로그 아웃 논리가 예상대로 작동합니다. 그러나, 나는 이것이 좋은 연습이라고 생각하지 않는다. 우리가이 경우에 우리의 앱에서 우리의 앱으로 방향을 바꾸고 있기 때문이다.

아마도 handleOpenURL 메서드의 논리를 다른 알림 기반 메서드로 전송하는 것이 더 좋을 수도 있지만 그렇게 할 시간이별로 없었습니다. 는 다음과 같은 코드를 포함하는 HTML5 페이지로 사용자를 리디렉션 :

* 이 멋진 대답은 * Apolotary answer

-1

임 HTML5를 사용하여 안드로이드 응용 프로그램을 만드는 자식 허브에이 사람에 의해 제공되었다, 나는 다음과 같은했다

  <div id = "loading" style="text-align: center; display:block; margin-top: 150px;"> 
        <img alt="" src="/css/themes/images/ajax-loader.gif" width="46px" height="46px"> 
        <br><font style="text-align: center;">Logging Out...</font> 
      </div> 

     </div> 
0

나는 아주 간단한 해결책을 찾아 냈습니다. UIWebView은 Safari에서 세션을 유지하므로 앱의 로그 아웃 버튼 탭 이벤트에서 http://instagram.com/accounts/logout/으로 요청을 보내면 완료됩니다.

해피 코딩 :