长期以来,我一直在疯狂地尝试为我的用户获取访问令牌。我在许多网站上阅读以通过使用 getSession() 并从中获取 access_token 以某种方式获取它......它给了我未定义的函数错误..我也用谷歌搜索过,所有解决方案都说使用更新的 SDK,但我的已更新,它仍然行不通...所以我终于找到了另一种获取访问令牌的解决方案,但这似乎为所有用户提供了相同的访问令牌...知道问题出在哪里吗?所有用户肯定不能拥有相同的令牌吧?
$app_id = $facebook->getAppId();
$app_secret = $facebook->getApiSecret();
function callFb($url, $params)
{
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_URL => $url,
CURLOPT_POSTFIELDS => http_build_query($params),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_VERBOSE => true
));
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
$params=array('client_id'=>$app_id, 'type'=>'client_cred', 'client_secret'=>$app_secret);
$url = "https://graph.facebook.com/oauth/access_token";
$access_token = callFb($url, $params);
$access_token = substr($access_token, strpos($access_token, "=")+1, strlen($access_token));