2012-10-16 6 views
24

내 응용 프로그램에서는 사용자가 WebView을 모바일 버전의 facebook 프로필 페이지 (http://m.facebook.com/some_page)에 엽니 다. 내 문제는 WebView을 열 때 사용자가 Facebook의 사용자 이름과 비밀번호를 입력해야한다는 것입니다. FB SDK를 통해 이미 Facebook 액세스 토큰을 가지고 있고 사용자가 Facebook 응용 프로그램을 설치했을 수 있으므로 WebView을 열면 Facebook에 로그인하는 성가신 단계를 건너 뛸 수있는 방법이 있다고 가정합니다.android app webview에서 Facebook 액세스 토큰을 사용하는 방법

즉, 내 응용 프로그램의 WebView에 이미있는 액세스 토큰을 사용하려면 어떻게해야합니까?

+2

에서 사용하는 : http://stackoverflow.com/questions/10101030/facebook-authentication-in-webview?rq=1 –

+0

들으 ZuzooVn을하지만, 링크는 아니다 내가 원하는 것을 대답 해줘. 나는 (응용 프로그램의 WebView에 이미있는 액세스 토큰을 사용하여) 작동 할 수 있는지 여부를 알기를 원합니다. – joy

+0

fb 개발자 https://developers.facebook.com/docs/mobile/android/build에서 시도했습니다./ –

답변

1

내 이해에서, 당신은 할 수 없습니다. 앱에 대한 액세스 토큰은 앱의 API 자격증 명과 함께 사용해야 만합니다. 나는. 액세스 토큰은 앱의 키와 비밀번호도 포함 된 호출에서만 작동합니다. WebView (아마도 FB's Data Policies의 적용을받지 않는)에 WebView를 전달하는 방법을 찾을 수 있다고하더라도 FB가 호출 소스를 확인하기 때문에 WebView가 Android SDK를 사용하도록해야 할 것입니다. 그래서 나는 당신이 할 수 없다고 제안합니다.

각 WebView는 보안상의 이유로 자신의 컨텍스트를 가지고 있기 때문에 WebView가 그의 주식 브라우저에있을 수있는 사용자의 쿠키를 사용할 수 없습니다.

앱에서 FB 용 WebView를 자주 사용하는 경우 인증 쿠키를 첫 번째 WebView에서 가져온 다음 CookieSyncManager을 사용하여 후속 인스턴스에 삽입 할 수 있습니다. 또는 첫 번째 WebView의 인스턴스 상태를 저장 한 다음 다시 사용할 수 있습니다. 이들은 단지 아이디어가 작동하거나하지 않을 수도 있습니다; 나는 그들을 체크 아웃하지 않았다.

+2

대단히 고맙습니다. cookiemanager를 사용하십시오. 말씀 드렸듯이, webview laod url 때마다 액세스 토큰을받는 동시에 쿠키를 추가해야합니다. 예 : wb = (WebView) this.findViewById (R.id.share_wb); String url = "http://m.facebook.com/sharer.php?u=www.douban.com"; CookieSyncManager.createInstance (this); CookieManager cookieManager = CookieManager.getInstance(); cookieManager.setCookie (url, Facebook.cookieString); CookieSyncManager.getInstance(). sync(); wb.loadUrl (url); – joy

1

속성에 AccessToken을 별도로 저장하고 webview를 사용하고 있는지 확인한 다음 해당 accessToken을 전달하고 사용자가 Ti.Facebook을 사용하고 다른 AccessToken을 사용할 수 있는지 확인할 수 있습니다.

-2

주의 깊게이 프로젝트를 읽어보십시오 ... 나는 작동 가깝지만 내 프로젝트에서이 예제를 시도 .. 당신 전에

니어는이 예제를 가지고, 당신은 페이스 북의 페이지를 생성하고 애플리케이션 -를 얻을 수 ID는,이 볼이 프로젝트

https://github.com/ddewaele/AndroidFacebookSample

+1

이것은 어디서나 WebViews를 사용하지 않는 일반 Facebook 통합 (그리고 이전 API를 사용하는 통합) 일뿐입니다. –

관련 문제