2011-10-04 110 views
1

我試圖設置一個新的Facebook應用程序使用Facebook的例子,但身份驗證給我一個錯誤。Facebook的帆布應用程序:API錯誤代碼:191:身份驗證錯誤

我第一次去developers.facebook.com/setup/並使用我的網站的網址(試圖基數和子文件夾:http://mydomain.comhttp://mydomain.com/facebook-app/

帆布網址:http://mydomain.com/faceboo-app/ 安全帆布網址:無

我的index.php

<?php 


$app_id = "XXXXXXXXXXXXXXXXXXXX"; 

$canvas_page = "http://apps.facebook.com/XXXXXXXXXXXXXXX/"; 

$auth_url = "http://www.facebook.com/dialog/oauth?client_id=" 
     . $app_id . "&redirect_uri=" . urlencode($canvas_page); 

$signed_request = $_REQUEST["signed_request"]; 

list($encoded_sig, $payload) = explode('.', $signed_request, 2); 

$data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true); 

if (empty($data["user_id"])) { 
     echo("<script> top.location.href='" . $auth_url . "'</script>"); 
} else { 
     echo ("Welcome User: " . $data["user_id"]); 
} 

?>

當我嘗試參觀http://apps.facebook.com/XXXXXXXXXXXXXXX/

我得到:與APP名稱發生

錯誤。請稍後再試

API錯誤代碼:191 API錯誤描述:指定的URL不會被應用 錯誤消息資:無效REDIRECT_URI:給定的URL不是由應用程序配置允許的。

有人可以幫忙嗎?

+0

[Facebook的API錯誤191(HTTP的可能重複:// stackoverflow.com/questions/4691782/facebook-api-error-191) – genesis

回答

2

歐有重定向用戶返回到您的網頁,讓您的$ canvas_url變量必須是你的網頁的URL(你在應用程序設置中輸入)

+0

我怎麼錯過了:( 謝謝! 現在我重定向到http://domain.com/facebook/?code=dasdasdas .. – Sharethefun

+0

嗯,我看到你正在解析signed_request,我沒有嘗試過這種方法,而是我只是檢查我是否收到代碼或不($ _GET ['code]',如果變量是空的,那麼你需要使用你的$ auth_url重定向用戶,如果不是,你可以繼續下一步網絡認證) – Darvex