mus*_*c80 76 facebook facebook-javascript-sdk
我正在尝试将我的项目与Facebook整合.我一开始就采取了婴儿步骤,只是尝试登录,获得Facebook会话,并获得一些用户数据.我正在本地开发它,所以我的Facebook应用程序设置是:
site URL: http://127.0.0.1:8888/mySite/
Run Code Online (Sandbox Code Playgroud)
画布URL与上面相同.我没有指定网站域名.
但是,当我点击登录按钮时,我收到一个错误:
API Error Code: 191
API Error Description: The specified URL is not owned by the application
Error Message: redirect_uri is not owned by the application.
Run Code Online (Sandbox Code Playgroud)
目前我还没有编写任何服务器端代码来处理重定向等.我所做的就是根据Facebook网站上的教程添加JavaScript SDK .
我做错了什么?这显然与我的Facebook应用程序设置有关,但我看不到什么!
ifa*_*our 88
更新:
要回答这个API错误代码:191
的redirect_uri应该是平等的(或相对)的网站URL.
提示: 使用基本URL而不是指向特定页面的完整URL.
不推荐:例如,如果您使用www.mydomain.com/fb/test.html您的站点URL并且www.mydomain.com/fb/secondPage.html因为redirect_uri这将给您191错误.
建议:请将您的站点URL设置为基本URL,如:www.mydomain.com/OR www.mydomain.com/fb/.
我今天浏览了一下Facebook Python示例应用程序,我很震惊它清楚地说明如果你在本地开发你可以http://localhost:8080/用作站点URL:
配置站点URL,并将其指向Web服务器.如果您在本地开发,可以使用 http:// localhost:8080 /
虽然我很肯定你不能做到这一点,根据我自己的经验(很老的测试虽然)看来你确实CAN本地测试Facebook应用程序!
所以我选择了我的旧应用程序并编辑了它的名称,站点URL和Canvas URL:站点URL: http://localhost:80/fblocal/
我下载了最新的Facebook PHP-SDK并将其丢入我的xampp/htdocs/fblocal/文件夹中.
但是我得到了和你一样的错误!我注意到XAMPP正在进行自动重定向,http://localhost/fblocal/所以我将设置更改为简单http://localhost/fblocal/,错误已经消失但是我必须删除应用程序(来自隐私设置)并重新安装我的应用程序,结果如下:

之后,请求publish_stream权限,我能够发布到我的个人资料(使用PHP-SDK):
$user = $facebook->getUser();
if ($user) {
try {
$post = $facebook->api('/me/feed', 'post', array('message'=>'Hello World, from localhost!'));
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}
Run Code Online (Sandbox Code Playgroud)
结果:

Mik*_*e_K 11
对我来说,这是一个缺少应用程序域.进入应用程序,确保将您网站的根目录设置为应用程序域.见截图.

这只是因为URL错误.
无论指定什么网站URL都应该是正确的.
我提到网站URL http://localhost:3000/
和域名为localhost,但在我的浏览器中我运行http://0.0.0.0:3000/.
当我运行服务器,因为localhost:3000它解决了问题.
正如我所提到的,作为localhost Facebook的站点URL将重定向到相同的,如果我们正在运行
0.0.0.0:3000,它将会出现"应用程序配置不允许给定URL"的错误.
| 归档时间: |
|
| 查看次数: |
109093 次 |
| 最近记录: |