Ant*_*ony 7 php url facebook facebook-graph-api openshift
我一直收到以下错误
应用程序配置不允许使用URL:应用程序的设置不允许使用一个或多个给定的URL.它必须与网站URL或Canvas URL匹配,或者域必须是App域之一的子域.
当我尝试使用我的PHP代码片段登录用户时(见下文).我的Facebook设置如下:
App Domains: myappname-mynamespace.rhcloud.com www.myappname-mynamespace.rhcloud.com
Site URL: http://myappname-mynamespace.rhcloud.com/
Canvas Page: http://apps.facebook.com/myappname
Canvas URL: http://myappname-mynamespace.rhcloud.com/
Secure Canvas URL: https://myappname-mynamespace.rhcloud.com/
Run Code Online (Sandbox Code Playgroud)
我在这里,这里,这里,这里和这里都读过类似的问题,他们似乎都说了同样的话:我的网站URL(Facebook登录网站)不正确.
但我的Openshift URL就是这样的
http://myappname-mynamespace.rhcloud.com
Run Code Online (Sandbox Code Playgroud)
这就是我在Facebook Site URL字段中输入的内容.我index.php在Openshift设备的根目录中有以下PHP代码():
<?php
require 'php-sdk/facebook.php';
$facebook = new Facebook(array(
'appId' => 'xxxx',
'secret' => 'xxxx'
));
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Facebook PHP</title>
</head>
<body>
<h1>Hello World!</h1>
<?php
// get user from facebook object
$user = $facebook->getUser();
if ($user): // check for existing user id
echo '<p>User ID: ', $user, '</p>';
else: // user doesn't exist
$loginUrl = $facebook->getLoginUrl(array(
'display' => 'popup',
'redirect_uri' => 'http://apps.facebook.com/myappname'
));
echo '<p><a href="', $loginUrl, '" target="_top">login</a></p>';
endif;
?>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
当我输入我的Facebook应用程序的URL(http://apps.facebook.com/myappname),Hello World!我的登录链接显示在我的Facebook应用程序的iframe之上.但是当我点击登录链接时,我得到了上面提到的错误.任何帮助将不胜感激!
编辑
我在浏览器中输入了以下网址,并Hello World显示了登录链接.
http://myappname-mydomainname.rhcloud.com/
https://myappname-mydomainname.rhcloud.com/
Run Code Online (Sandbox Code Playgroud)
小智 2
不久前,我出于某种原因对 Facebook 的 API 进行了修改,但我不断收到同样的错误。事实证明,一些带有 http 的 url 应该是 https,而不是 Facebook 特意留下了正确的说明。我建议更改Site URL: http://myappname-mynamespace.rhcloud.com为Site URL: https://myappname-mynamespace.rhcloud.com. 如果这没有帮助,我建议查看其他 URL 并更改它们。祝你好运
| 归档时间: |
|
| 查看次数: |
1825 次 |
| 最近记录: |