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 回答