Pez*_*kow 9 php facebook facebook-graph-api
我正在尝试为我的某个页面创建一个欢迎选项卡,但我希望能够访问用户喜欢(权限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>";
Run Code Online (Sandbox Code Playgroud)
链接中的结果,只是将用户(在页面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>
Run Code Online (Sandbox Code Playgroud)
结果是
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.
Run Code Online (Sandbox Code Playgroud)
javascript还会打开以下错误弹出框

我的应用配置设置

您在弹出窗口中看到错误,因为您的授权网址中的redirect_uri与app config中的网站网址中列出的内容不匹配.要解决此问题,您需要在app config中启用"网站"选项.通过单击"网站"旁边的复选框启用它,然后在"站点URL"文本框中输入http://Site.com(或任何您的真实站点URL).此网址必须与您在redirect_uri中提供的主机网址相匹配.这样做可以解决弹出窗口错误.
就"不安全的JavaScript尝试访问框架"错误而言,您使用的是webkit浏览器吗?Webkit会抛出这些错误,但大部分都可以忽略.有关详细信息,请参阅此内容:在Chrome webkit检查器中不断生成"不安全的JavaScript尝试访问带URL的框架..."错误
| 归档时间: |
|
| 查看次数: |
5739 次 |
| 最近记录: |