0

グラフAPIを使用してFacebookの場所検索を作成しました。ただし、アクセス キーは 2 時間ごとに期限切れになります。このために、以下のコードを実装しました

 $app_id = "---";
 $app_secret = "----"; 
 $my_url = "";
$code = $_REQUEST["code"]; 
if (isset($code)) {

    $token_url="https://graph.facebook.com/oauth/access_token?client_id="
      . $app_id . "&redirect_uri=" . urlencode($my_url) 
      . "&client_secret=" . $app_secret 
      . "&code=" . $code . "&display=popup";
     $response = file_get_contents($token_url);
     $params = null;
     parse_str($response, $params);
     $access_token = $params['access_token'];
}
$FacebookGraphURL = 'https://graph.facebook.com/search?fields=id,username,name,category,website,likes,location&q='.$keyword.'&type=place&center='.$center.'&distance='.$radius.'&limit=5&access_token='.$access_token;
    $FacebookGraphJSON = file_get_contents($FacebookGraphURL);

しかし、これは以下のエラーを出しています:

Notice: Undefined index: code in /opt/lampp/htdocs/APIcomparison/facebook_graph.php on line 24

私が欠けているものは何ですか?$my_url を何に使うべきかわからないもう 1 つのこと

よろしくお願いします。

4

1 に答える 1

1

Graph Explorer ツールを使用してアクセス トークンを生成していますか? その場合、それらのトークンには 2 時間の有効期限があります。

Facebook ログイン / OAuth プロセスを実行することで、有効期限が 60 日のアクセス トークンを生成できます。承認ダイアログ。アクセス トークンを取得したら、それを長期間有効なトークンと交換できます。

Facebook OAuth の詳細はこちら: https://developers.facebook.com/docs/reference/dialogs/oauth/

アクセス トークンを生成する簡単な方法は、Temboo が提供する Facebook OAuth サポートを使用することです。トークンが 1 つだけ必要な場合は、Facebook OAuth ウィザードを使用できます。つまり、トークンを生成するためのコードを記述する必要はありません。詳細はこちら:https ://www.temboo.com/library/Library/Facebook/

(完全な開示: 私は Temboo で働いています)

于 2013-04-23T13:17:15.580 に答える