Facebook Oauth Documentationに記載されているように、デスクトップアプリケーションでクライアントサイドフローを使用するには、特別なreturn_uri https://www.facebook.com/connect/login_success.html
が必要です。Chrome拡張機能:手動で取得したアクセストークンを含むFacebook OAuth?
期待
https://www.facebook.com/dialog/oauth?client_id=MYAPPID&redirect_uri=https://www.facebook.com/connect/login_success.html&response_type=token
作品としてURLにChromeから新しいタブを開くと、私はトークンを含むaccess_token
パラメータでlogin_successページにリダイレクトしています。私は(jQueryを使って、例えば)、単純なGETリクエストを使用してグラフAPIからデータを要求することができます。
$.getJSON("https://graph.facebook.com/me", {access_token : token}, function (d)
{
.. process returned data
});
私の質問があり、私はSDKの内部認証方式を使用してずにJavascriptのSDK を継続して使用することができます。
FB.getLoginStatus
は、Connect/Canvas URIが正しくないというエラーを返します。手動のGETとレスポンスのマッチング以外に、その方法なしでトークンの状態をチェックする方法を教えてください。
FB.login
は明らかに次のエラーで失敗します。内部的に上記のreturn_uriを指定する方法はないように思えるよう
API Error Code: 191
API Error Description: The specified URL is not owned by the application
Error Message: Invalid redirect_uri
、(URLは、アプリの設定でドメインのURLと一致していません)。
外部からトークンにアクセスしているときに、Javascript SDK(特にイベント)に依存する方法はありますか?アクセストークンを無効にする必要がありますか?
AFAIK Facebookは、すべてのaccess_tokensをかなり長期間使用できるようにする予定であるため、offline_accessを要求する必要はありません – zachallia