我想创建一个欢迎标签为我的网页之一,但我想能够访问用户喜欢(权限user_likes)。Facebook图形API - 页面选项卡额外权限
我只可以找到关于如何做到这一点的一个Facebook 应用或网站整合Facebook的文件,我可以找到关于如何做到这一点的一个网站内的应用程序(标签)页没有文件(如一个欢迎标签)。
是否有可能为页面标签请求额外的权限从用户,但允许页面访问没有它,或者是它的情况下,或者我不得不做出一个应用程序以及网页标签?我可能有一个按钮,当他们点击它授予页面额外的权限?
我目前正在尝试两个单独的实现,这两个我都可以工作,PHP和Javascript。
感谢,
只需使用一个链接,只是将用户重定向(页iframe中)在屏幕与Facebook商标
$loginUrl = $fb->getLoginUrl(
array('canvas' => 1, 'scope' => 'user_likes,user_about_me,user_birthday')
);
echo "<a href='$loginUrl'>Login</a>";
结果。我想要一个权限对话框!
使用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也可以打开下面的错误弹出框
我的应用程序的配置设置
有人可以解释为什么关闭和downvotes被提出?我在询问之前研究了这个问题,并且没有提到在页面的欢迎标签中请求权限,而只是提示如何请求它们作为应用程序的一部分。 –
...“域名,协议和端口必须匹配”可能与您的问题有关。我会首先解决这个问题(可能是你问题的根源) –
我只能认为是因为它是Facebook内的iFrame而引起的,它自己的API试图访问父框架? (实际Facebook)。 –