2012-07-01 73 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";