【发布时间】:2011-10-23 06:06:35
【问题描述】:
我正在使用此代码进行应用身份验证:
//Obtain the access_token with publish_stream permission
if(empty($_REQUEST["code"])){
$dialog_url= "http://www.facebook.com/dialog/oauth?"
. "client_id=" . $app_id
. "&redirect_uri=" . urlencode($post_login_url)
. "&scope=publish_stream,user_birthday";
echo("<script>top.location.href='" . $dialog_url
. "'</script>");
}
else {
$code = $_REQUEST["code"];
$token_url="https://graph.facebook.com/oauth/access_token?"
. "client_id=" . $app_id
. "&client_secret=" . $app_secret
. "&code=" . $code
. "&redirect_uri=" . urlencode($post_login_url);
$response = file_get_contents($token_url);
$params = null;
parse_str($response, $params);
$access_token = $params['access_token'];
}
在新的 facebook 身份验证中,用户可以选择其中一个权限请求并在单击“登录”按钮后取消它。例如,用户可以禁用对 publish_stream 或 user_birthday 访问的请求,但仍然可以登录我的应用程序。 我看到 Zynga 和许多其他人仍在使用旧的身份验证请求,如下所示:
http://i.stack.imgur.com/ESigT.png(网上找的一些图)
但由于某些原因,在过去 2 周内,我的权限请求对话框已更改为新对话框: http://i52.tinypic.com/qstm6g.png(网上找的一些图)
如何将其切换回旧的权限对话框?在用户登录我的应用程序之前,这只是 1 个对话框,而不是 2-3 个对话框。
【问题讨论】:
标签: php authentication facebook-graph-api permissions