2012-07-01 71 views
8

我現在用的是FB交換令牌API這樣的:FB交換令牌API缺少REDIRECT_URI

https://graph.facebook.com/oauth/access_token?client_id=了{client_id} 8 & client_secret = {client_secret}} & grant_type = fb_exchange_token & fb_exchange_token = {one_hour_token} & REDIRECT_URI = HTTP %3A%2F%2Fotagz.cloudfoundry.com%2FfacebookCallback

我得到以下錯誤: 「消息」: 「缺少REDIRECT_URI參數」, 「類型」: 「OAuthException」, 「代碼」:191

我有我的應用程序URL:otagz.cloudfoundry.com

我知道有關於這個問題的另一個問題,但沒有解決的辦法,這是自2010年

有誰知道什麼地方錯了redirect_uri?

感謝, 克里斯蒂安

+0

計算器的這一部分應該是官方Facebook Technica的Q&A。我是否認爲這是正確的?如果是這樣,Facebook的人可否給我一個答案? –

回答

0

我面臨的問題,但我設法用下面的方法來解決這個問題。 它不需要重定向

讓我們假設你已經拿到了短現場訪問令牌

$accessToken; 

$graph_url = "https://graph.facebook.com/oauth/access_token?client_id=".$your_app_id."&client_secret=".$your_app_secretkey."&grant_type=fb_exchange_token&fb_exchange_token=".$accessToken; 

$result = file_get_contents($graph_url); 

parse_str($result, $output); 

echo $output[access_token]; 
echo $output[expires]; 
+0

我使用上面的方法得到同樣的錯誤,這是默認的docs .. {「message」:「Missing redirect_uri parameter。」,「type」:「OAuthException」,「code」:191} – MonkeyBonkey

1

有同樣的問題,從URL reoveing空間解決它(我從Facebook網站上抄了一遍,有是PARAMS之間的一對夫婦多餘的空格)

0

嘗試設置參數grant_typeclient_credentials。 URL會是這樣,那麼:https://graph.facebook.com/v2.8/oauth/access_token?client_id=XXX&client_secret=XXX&fb_exchange_token=XXX&grant_type=client_credentials

還是要讓它多一點可讀性:

$q = http_build_query(array(
    'client_id' => $app_id, 
    'client_secret' => $app_secret, 
    'fb_exchange_token' => $user_token, 
    'grant_type' => 'client_credentials' 
)); 
$url = "https://graph.facebook.com/v2.8/oauth/access_token?$q";