TiT*_* K. 2 permissions facebook checkin
我的脚本重定向到facebook的oauth对话框,需要user_checkins权限
<?php
session_start();
$app_id = "[APP_ID]";
$app_secret = "[APP_SECRET]";
$my_url = "(back to this page)";
$code = $_REQUEST["code"];
if(empty($code)) {
$_SESSION['state'] = md5(uniqid(rand(), TRUE)); //CSRF protection
$dialog_url = "https://www.facebook.com/dialog/oauth?client_id="
. $app_id . "&redirect_uri=" . urlencode($my_url) . "&state="
. $_SESSION['state']."&scope=user_checkins" ;
echo("<script> top.location.href='" . $dialog_url . "'</script>");
}
if($_REQUEST['state'] == $_SESSION['state']) {
$token_url = "https://graph.facebook.com/oauth/access_token?"
. "client_id=" . $app_id . "&redirect_uri=" . urlencode($my_url)
. "&client_secret=" . $app_secret . "&code=" . $code;
$response = @file_get_contents($token_url);
$params = null;
parse_str($response, $params);
$graph_url = "https://graph.facebook.com/me?fields=checkins&access_token="
. $params['access_token'];
$user = json_decode(file_get_contents($graph_url));
echo "<pre>";
print_r($user);
echo "</pre>";
} else {
echo("The state does not match. You may be a victim of CSRF.");
}
?>
Run Code Online (Sandbox Code Playgroud)
仅对话框显示
THIS APP WILL RECEIVE:
? Your basic info
Run Code Online (Sandbox Code Playgroud)
但它应该还有一行签入权限,不是吗?
所以,我尝试使用Graph API Explorer.首先我用我的APP测试,结果是一样的,仍然无法获得user_checkins权限
但是,如果我将"应用程序:"部分更改为Graph API Explorer并再次测试,那么一切似乎都没问题.
所以,我认为这是我的APP设置的原因..或者什么......
你能建议我怎么解决这个问题吗?
小智 9
从它的外观来看,我会说Facebook已经弃用了user_checkins和friends_checkins权限,并将它们转换为user_status和friends_status.
无论如何,请求user_status权限,您现在可以读取用户的签到.
| 归档时间: |
|
| 查看次数: |
1925 次 |
| 最近记录: |