可以通过Facebook Graph API获取我当前的位置吗?

时间:2014-12-15 18:03:17

标签: php jquery facebook facebook-graph-api facebook-javascript-sdk

我正在尝试在我的个人网站上构建一个部分,显示我在Facebook上的帖子中标记的位置。我的理解是我需要在服务器上执行oAuth请求来获取AccessToken:

更新

我构建了一个php文件,该文件获取包含令牌的文件并刷新它。我可以每小时用一个cron作业调用这个文件并拥有一个无限的令牌。它看起来像这样:

    $appID = "APPID";
    $appSecret = "APPSECRET";
    $currentToken = file_get_contents(__DIR__."/token.txt");
    $url = "https://graph.facebook.com/oauth/access_token?client_id=".$appID."&client_secret=".$appSecret."&grant_type=fb_exchange_token&fb_exchange_token=".$currentToken;
    $ci = curl_init();
    curl_setopt($ci, CURLOPT_URL, $url);
    curl_setopt($ci, CURLOPT_CONNECTTIMEOUT, 10);
    curl_setopt($ci, CURLOPT_TIMEOUT, 10);
    curl_setopt($ci, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($ci, CURLOPT_FOLLOWLOCATION, TRUE);

    $newtoken = curl_exec($ci);
    curl_close ($ci);

    $newtoken = str_replace("access_token=","",$newtoken);
    $newtoken = substr($newtoken, 0,strpos($newtoken, "&expires=",0));

    if($newtoken == "")
    {
        echo "error";
    }
    else
    {
        $file = __DIR__."/token.txt";
        file_put_contents($file, $newtoken);
        echo $newtoken;
    }

1 个答案:

答案 0 :(得分:1)

如果访问令牌的格式为{app_id}|{app_secret},则您不使用用户访问令牌,而是使用应用访问令牌。

好像你没有实现正确的登录过程来收集用户访问令牌。坚持提供FB PHP SDK的示例代码。