【发布时间】:2012-01-22 03:32:24
【问题描述】:
这个功能曾经对我有用,直到有一天 facebook 决定强制执行一些更改。
function get_facebook_cookie() {
$app_id = '[MyAppID]';
$application_secret = '[MyAppSecrect]';
if(isset($_COOKIE['fbs_' . $app_id])){
$args = array();
parse_str(trim($_COOKIE['fbs_' . $app_id], '\\"'), $args);
ksort($args);
$payload = '';
foreach ($args as $key => $value) {
if ($key != 'sig') {
$payload .= $key . '=' . $value;
}
}
if (md5($payload . $application_secret) != $args['sig']) {
return null;
}
return $args;
} else {
return null;
}
}
我能够像获得 FB 用户访问令牌一样容易
$cookie['access_token']
现在我似乎无法再检索此信息了。
我成功地(轻松地)能够对我的 javascript 代码进行必要的更改,但我在 php 方面有点难过。作为一个快速的旁注,我正在使用 codeigniter,我在尝试让 FB PHP SDK 玩得很好时遇到了很多麻烦,而且我还没有看到任何将 PHP 3 SDK 集成到 codeigniter 的示例,所以我寻找一个快速而肮脏的解决方案,让我能够从 cookie 中获取访问令牌,从而允许我使用以下对 Facebooks API 的调用:
'https://api.facebook.com/method/friends.getAppUsers?access_token=' . $cookie['access_token'];
非常感谢任何帮助。
【问题讨论】:
标签: php facebook codeigniter oauth-2.0