web-dev-qa-db-ja.com

facebookアプリでアクセストークンを取得するときのredirect_uriは何ですか?

$token_url = "https://graph.facebook.com/oauth/access_token?client_id="
    . $app_id . "&redirect_uri=" . urlencode($my_url) 
    . "&client_secret=" . $app_secret 
    . "&code=" . $code;

Redirect_uriには何が必要ですか?これを使ってみた

'https://graph.facebook.com/oauth/authorize?client_id='.$app_id.'&
redirect_uri='.urlencode($canvas_page).'&scope=email,read_stream,publish_stream';

しかし、このエラーで返されました

{
   "error": {
      "message": "Error validating verification code.",
      "type": "OAuthException"
   }
}

助けが必要、事前に感謝します。

24
user1004404

まず、リダイレクトURLがどうあるべきかを答えます

Facebookアプリケーションダッシュボードに移動します

https://developers.facebook.com/apps

ページの左側にあるアコーディオンメニューからアプリケーションを選択します。 enter image description here

キャンバスURLの値があります(ここでは、ローカルサーバーを指す「 http:// localhost:7124 」です)。

リダイレクトurlは、このurl(site)内のURLでなければなりません。 ie 'http:// localhost:7124/home.aspx 'または'http:// localhost:7124/main/home.aspx '


アクセストークンを取得するには、以下の手順に従ってください

リクエストを発行する

https://www.facebook.com/dialog/oauth?client_id=CLIENT_ID&redirect_uri=REDIRECT_URL&scope=read_stream

これにより、ユーザーがサインインしていることを示すユーザー認証コード(CODE)が提供されます。

次に、このコードでリクエストを発行します

https://graph.facebook.com/oauth/access_token?client_id=CLIENT_ID&redirect_uri=REDIRECT_URL&client_secret=APP_SECRET&code=CODE

これにより、指定したリダイレクトURLへのアクセストークンがaccess_token = ACCESSTOKENの形式で提供されます。

注:リダイレクトURLはFacebookアプリケーションのCanvas Url内のパスである必要があり、これらのリクエストは同じから送信する必要がありますCanvas Urlが指すドメイン

16
Robin