更新:
回答API错误代码:191
该值redirect_uri
应等于(或相对于)网站URL。
提示: 使用基本URL而不是指向特定页面的完整URL。
不推荐使用:例如,如果你使用www.mydomain.com/fb/test.html
的网站网址,并具有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和画布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;
}
}
结果: