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