1

ある理由でユーザーを登録するアプリを作りました。アプリは、FB アカウントから電子メール、名前を取得します。

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

40: $access_token = file_get_contents($token_url);

41: $graph_url = "https://graph.facebook.com/me?fields=id,name,email&".$access_token;

42:$user = json_decode(file_get_contents($graph_url));

40 行目と 42 行目でエラーが発生します。

[function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.0 400 Bad Request in /home/*********/index.php on line 40
[function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.0 400 Bad Request in /home/*********/index.php on line 42

ただし、アプリを初めて起動するときではなく、ユーザーが指定したフィールドを評価しようとした後でのみです。このコードに間違いはありますか、それともスクリプトの別の場所を見る必要がありますか?

4

1 に答える 1

0

サーバー側認証を実装する正しい方法、具体的にはステップ 6 については、このドキュメントを参照してください。

コードが受信して解析するレスポンスの本文は次のようになります。

access_token=USER_ACCESS_TOKEN&expires=NUMBER_OF_SECONDS_UNTIL_TOKEN_EXPIRES

使用のために access_token を抽出する必要があります。

認証に問題がある場合は常にaccess_tokenOpen Graph Debuggerで を実行して、ユーザーとアプリが正しいスコープで関連付けられていることを確認する必要があります。

于 2012-12-09T18:39:01.343 に答える