Php 无法在上使用文件获取内容https://api.facebook.com
我正试图用计算机获取一些信息https://api.facebook.comPhp 无法在上使用文件获取内容https://api.facebook.com,php,facebook,facebook-graph-api,Php,Facebook,Facebook Graph Api,我正试图用计算机获取一些信息https://api.facebook.com $q = "https://graph.facebook.com/$params".$sep."access_token=$access_token"; $response = json_decode(file_get_contents($q),true); 下面的工作很好:注意graph.facebook.com $q = "https://graph.facebook.com/$params".$sep."acc
$q = "https://graph.facebook.com/$params".$sep."access_token=$access_token";
$response = json_decode(file_get_contents($q),true);
下面的工作很好:注意graph.facebook.com
$q = "https://graph.facebook.com/$params".$sep."access_token=$access_token";
$response = json_decode(file_get_contents($q),true);
但是
只是不起作用。我已经尝试了curl,但我一直没有实现这个方法
以下代码:
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$url = "https://api.facebook.com/$params".$sep."access_token=$access_token";
echo $url;
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
curl_setopt($ch, CURLOPT_URL, $url);
echo curl_exec($ch);
echo curl_errno($ch);
curl_close ($ch);
有什么想法吗?这是个愚蠢的错误。我发布了一个工作示例: 电话:
$status = $fb->api("method/fql.query?query=".urlencode("SELECT url FROM url_like WHERE user_id = $ID")."",$access_token);
班级:
class fb
{
public function api($params, $access_token)
{
try
{
$q = "https://api.facebook.com/$params?format=json-strings&access_token=$access_token";
$response = json_decode(file_get_contents($q),true);
if ($response->error->message != null)
throw new Exception($response->error->message);
else
return $response;
}
catch (Exception $e)
{
return ("<b>Error:</b> " . $e->getMessage());
}
}
}
对于所有不想使用facebook php sdk的人。它不需要POST,是吗?还有,$params中的内容和$sep中的内容?我尝试过POST,但出现了相同的错误$params和$sep只是我在这个类中使用的变量。不用管他们,$url是正确的。我得到的结果,我正在寻找时,直接到该网址。我只是不能在一个变量中得到结果。我会破解Wireshark,看看这两个请求之间的差异,并尝试模仿PHP中成功的请求。你的PHP是用https支持编译的吗?为什么有人不使用或扩展官方SDK?这是一个轻量级的好方法,从仅仅看到你的代码开始…你正在$response中重新调整一个数组,因为你使用的是true,但是作为对象访问它,我想这是行不通的;这是正确的,我只是在之后才看到$status变量。