我在尝试使用cURL从我的Linux服务器上的Facebook获取访问令牌时遇到问题。在我的Windows机器上,当我在XAMPP下运行PHP时,一切正常,但在Linux中却没有。
我已在我的Linux服务器上安装了cURL,现在正尝试使用它,但它不会返回任何信息。
我的代码如下:
$url = "https://graph.facebook.com/oauth/access_token?client_id=278313225526998&redirect_uri=thejunction.africanbank.net/baobab/baobab.php&client_secret=$app_secret&code=$code";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Host: graph.facebook.com'));
$access_token = curl_exec($ch);
curl_close($ch);
echo "access is: ".$access_token;
有人可以让我知道我在这里做错了什么吗?它给了我错误:
An error occured while fetching the URI
我也尝试过使用
$url = 'http://www.stackoverflow.com'; //curl script to get content of given url $ch = curl_init(); // set the target url curl_setopt($ch, CURLOPT_URL,$url); // request as if Firefox curl_setopt($ch, CURLOPT_HTTPHEADER, Array("User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.15) Gecko/20080623 Firefox/2.0.0.15") ); curl_setopt($ch, CURLOPT_NOBODY, false); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result= curl_exec ($ch); curl_close ($ch); echo "result is".$result;
它给了我一个错误
An error occured while fetching the URI. Please retry.
在我的php.ini文件中启用了curl,请看图片
男人们可能会遇到什么问题?请帮帮我。
由于 唐纳德
答案 0 :(得分:2)
你的redirect_uri错了。它应该是
所以改变
$url = "https://graph.facebook.com/oauth/access_token?client_id=278313225526998&redirect_uri=thejunction.africanbank.net/baobab/baobab.php&client_secret=$app_secret&code=$code";
到
$url = "https://graph.facebook.com/oauth/access_token?client_id=278313225526998&redirect_uri=".urlencode("http://thejunction.africanbank.net/baobab/baobab.php")."&client_secret=$app_secret&code=$code";