更新:
回答 API 错误代码:191应该与站点 URL 相同(或相对)
。redirect_uri
提示: 使用基本 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/
虽然我确信你不能这样做,但根据我自己的经验(虽然是非常古老的测试),你似乎实际上可以在本地测试你的 Facebook 应用程序!
所以我拿起了我的一个旧应用程序并编辑了它的名称、站点 URL 和画布 URL:站点 URL:http://localhost:80/fblocal/
我下载了最新的Facebook PHP-SDK并将其放入我的xampp/htdocs/fblocal/
文件夹中。
但我得到了和你一样的错误!我注意到XAMPP正在执行自动重定向,http://localhost/fblocal/
因此我将设置更改为 simplehttp://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;
}
}
结果: