【发布时间】:2011-11-08 20:28:56
【问题描述】:
我正在尝试为我的一个页面创建一个欢迎选项卡,但我希望能够访问用户喜欢的内容(权限 user_likes)。
我只能找到有关如何为 Facebook 应用程序 或集成 Facebook 的网站执行此操作的文档,我找不到有关如何为 facebook 内的应用程序(选项卡)执行此操作的文档 页面(作为欢迎标签)。
是否有可能作为 页面标签 向用户请求额外的权限,但允许在没有它的情况下访问页面,或者是这种情况还是我必须制作一个应用程序和一个页面标签?我可以有一个按钮,当他们点击它时,它会授予页面额外的权限?
我目前正在尝试两种单独的实现,PHP 和 Javascript,我都无法开始工作。
谢谢,
只是使用
$loginUrl = $fb->getLoginUrl(
array('canvas' => 1, 'scope' => 'user_likes,user_about_me,user_birthday')
);
echo "<a href='$loginUrl'>Login</a>";
生成一个链接,该链接仅将用户(在 iframe 页面内)重定向到带有 Facebook 徽标的屏幕。我想要一个权限对话框!
使用 javascript 代码
<script>
FB.init({
appId : 'APPID',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true, // parse XFBML
oauth : true // enable OAuth 2.0
});
FB.login(function(response) {
if (response.authResponse) {
console.log('Welcome! Fetching your information.... ');
FB.api('/me', function(response) {
console.log('Good to see you, ' + response.name + '.');
FB.logout(function(response) {
console.log('Logged out.');
});
});
} else {
console.log('User cancelled login or did not fully authorize.');
}
}, {scope: 'email'});
</script>
结果
Unsafe JavaScript attempt to access frame with URL https://www.facebook.com/dialog/oauth?api_key=158609350887973&app_id=158609350887973&client_id=158609350887973&display=popup&locale=en_US&method=permissions.oauth&origin=1&redirect_uri=http%3A%2F%2Fstatic.ak.fbcdn.net%2Fconnect%2Fxd_proxy.php%3Fversion%3D3%23cb%3Df2f7aed38%26origin%3Dhttp%253A%252F%url.com%252Ff3634c5da%26relation%3Dopener%26transport%3Dpostmessage%26frame%3Df9748b77&response_type=token%2Csigned_request&scope=email&sdk=joey from frame with URL http://url.com/gs/index.php. Domains, protocols and ports must match.
javascript还会打开以下错误弹出框
我的应用配置设置
【问题讨论】:
-
有人可以解释为什么要提出关闭和否决票吗?我在问之前研究了这个问题,并没有发现在页面的欢迎选项卡中请求权限只是如何将它们作为应用程序的一部分请求。
-
...“域、协议和端口必须匹配”可能与您的问题有关。我会先解决这个问题(可能是你问题的根源)
-
我只能推测这是因为它是 Facebook 中的 iFrame,并且它自己的 API 正在尝试访问父框架? (实际 Facebook)。
-
$loginUrl的值是多少? -
我会首先仔细检查画布 URL 的应用设置是否指向与 iframe 内容相同的域/端口。
标签: php facebook facebook-graph-api