如何在 facebook graph api 请求中使用 cURL
Posted
技术标签:
【中文标题】如何在 facebook graph api 请求中使用 cURL【英文标题】:how to use cURL in facebook graph api request 【发布时间】:2013-02-18 15:28:09 【问题描述】:我正在使用 file_get_contents() 将信息发送到 facebook graph api
但有时我会收到错误消息。
我发现必须使用 cURL 而不是 file_get_contents()。
问题是,我不知道如何将 cURL 与我需要传递的 URL 一起使用。
如果我转换了
file_get_contents($graph_url);
进入cURL,代码是什么?
这里是 $graph_url 的内容
$graph_url= "https://graph.facebook.com/me/photos?"
. "url=" . urlencode($photo_url)
. "&message=" . urlencode('')
. "&method=POST"
. "&access_token=" .$access_token;
【问题讨论】:
阅读 cURL 文档,了解如何提出请求。 【参考方案1】: $graph_url= "https://graph.facebook.com/me/photos";
$postData = "url=" . urlencode($photo_url)
. "&message=" . urlencode('')
. "&access_token=" .$access_token;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $graph_url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$output = curl_exec($ch);
curl_close($ch);
【讨论】:
如果我的 $graph_url = 'graph.facebook.com' 怎么样。 'fql?q=SELECT+src_big+FROM+photo+WHERE+object_id='.$photo_id. '&access_token=' 。 $access_token; 对于fql,file_get_contents
更合适。我在 fql 中使用了这个函数。
如果您想使用curl
,只需将CURLOPT_POST
更改为0
并删除CURLOPT_POSTFIELDS
选项。您的完整网址也是$graph_url = 'graph.facebook.com/fql?q=SELECT+src_big+FROM+photo+WHERE+object_id='.$photo_id. '&access_token=' . $access_token;
@MaulikVora 重读后我明白了。
使用 http_build_query() 会更漂亮^^以上是关于如何在 facebook graph api 请求中使用 cURL的主要内容,如果未能解决你的问题,请参考以下文章
在 facebook http graph api 上创建应用程序请求的问题
在单个 Graph API 请求中获取 Facebook 发布所有反应计数
Facebook Graph API,如何获取用户电子邮件?
Facebook Graph API:在一个请求中获取更大的图片