0

このエンドポイントを使用して、長寿命のトークンを取得しています。

https://graph.facebook.com/oauth/access_token?             
    client_id=APP_ID&
    client_secret=APP_SECRET&
    grant_type=fb_exchange_token&
    fb_exchange_token=EXISTING_ACCESS_TOKEN 

しかし、私はphpでそれを取得する方法を知りたい.

curl ライブラリを使用する必要がありますか? または、最も簡単な解決策はありますか?

4

1 に答える 1

5

これは、facebook SDK で使用する簡単な curl 関数です。へのパスを変更することを忘れないでくださいfb_ca_chain_bundle.crt

function curl($url, $certificate = false) {

    $c = curl_init($url);

    curl_setopt($c, CURLOPT_HTTPGET, true);
    curl_setopt($c, CURLOPT_FRESH_CONNECT, true);
    curl_setopt($c, CURLOPT_RETURNTRANSFER, true);

    curl_setopt ($c, CURLOPT_SSL_VERIFYPEER, TRUE); 
    curl_setopt ($c, CURLOPT_CAINFO, dirname(__FILE__) . '/sdk/fb_ca_chain_bundle.crt');

    $output = curl_exec($c);

    if ($output === false) {
        curl_close($c);
        return false;
    }

    curl_close($c);
    return $output;

}

そして、長寿命のトークンを取得するためのメソッド呼び出しは次のとおりです。

§token = curl('https://graph.facebook.com/oauth/access_token?client_id='.
               $app_id.'&client_secret='.
               $app_secret.'&grant_type=fb_exchange_token&fb_exchange_token='.
               $api->getAccessToken());
于 2012-05-18T17:17:52.500 に答える