UPDATE:
要回答这个API错误代码:191
的redirect_uri
应该等于(或相对)的网站URL。
提示:将基准网址,而不是指向特定页面的完整URL。
不被推荐:例如,如果你使用www.mydomain.com/fb/test.html
为您的网站网址,并具有www.mydomain.com/fb/secondPage.html
作为redirect_uri
这会给你的191错误。
推荐:因此,不是有你的网站URL设置为一个基本的URL,如:www.mydomain.com/
或www.mydomain.com/fb/
。
我通过Facebook的今天Python sample application去了,我是震惊有人明确指出,你可以使用为网站URL,如果你是在本地开发:
Configure the Site URL, and point it to your Web Server. If you're developing locally, you can use http://localhost:8080/
虽然我是确定你不能这样做,根据我自己的经验(尽管很老的测试)看来你实际上是CAN在本地测试你的Facebook应用程序!
于是我拿起了我的一个旧的应用程序和编辑它的名字,网站URL和Canvas URL: 网站网址:http://localhost:80/fblocal/
我下载了最新的Facebook PHP-SDK和我xampp/htdocs/fblocal/
文件夹扔了。
但是我得到了和你一样的错误!我注意到,XAMPP是做一个自动重定向到http://localhost/fblocal/
所以我改变了设置简单http://localhost/fblocal/
和错误不见了但我不得不(从privacy settings)删除应用程序,并重新安装我的应用程序和这里的结果:
之后,问了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;
}
}
结果:
对于读者:请注意,这个问题和接受的答案适用于本地服务器和开发/测试,以及真正的服务器和网址! – Stefano 2012-07-04 08:16:57