Php 获取facebook api页面

Php 获取facebook api页面,php,facebook,api,curl,Php,Facebook,Api,Curl,我一点也不知道我做错了什么,我的脑袋都乱了 所以基本上我想获取https://www.facebook.com/dialog/stream.publish?access_token=bla-bla此页面用于查看某些表单数据。 我使用的是php cURL lib-- 这个$furl在浏览器中运行得很好。但在我的服务器中它显示了如下内容-- HTTP/1.1 200 OK Cache Control:private,no Cache,no store,必须重新验证过期日期:Sat,01 Jan 20

我一点也不知道我做错了什么,我的脑袋都乱了

所以基本上我想获取
https://www.facebook.com/dialog/stream.publish?access_token=bla-bla
此页面用于查看某些表单数据。 我使用的是php cURL lib--

这个$furl在浏览器中运行得很好。但在我的服务器中它显示了如下内容--

HTTP/1.1 200 OK Cache Control:private,no Cache,no store,必须重新验证过期日期:Sat,01 Jan 2000 00:00:00 GMT P3P:CP=“Facebook没有P3P策略。在此处了解原因:”Pragma:no Cache Set Cookie:\uu utma=deleted;expires=1970年1月1日星期四00:00:01格林威治标准时间;路径=/;域名=.facebook.com;httponly设置Cookie:\uuuUTMB=已删除;expires=1970年1月1日星期四00:00:01格林威治标准时间;路径=/;域名=.facebook.com;httponly Set Cookie:\uuuutmc=deleted;expires=1970年1月1日星期四00:00:01格林威治标准时间;路径=/;域名=.facebook.com;httponly Set Cookie:uu utmz=已删除;expires=1970年1月1日星期四00:00:01格林威治标准时间;路径=/;域名=.facebook.com;httponly Set Cookie:_e_Jjuf_0=已删除;expires=1970年1月1日星期四00:00:01格林威治标准时间;路径=/;域名=.facebook.com;httponly Set Cookie:c1=已删除;expires=1970年1月1日星期四00:00:01格林威治标准时间;路径=/;域名=.facebook.com;httponly Set Cookie:c2_top=已删除;expires=1970年1月1日星期四00:00:01格林威治标准时间;路径=/;域名=.facebook.com;httponly Set Cookie:ck_expr=deleted;expires=1970年1月1日星期四00:00:01格林威治标准时间;路径=/;域名=.facebook.com;httponly Set Cookie:ckmsg=deleted;expires=1970年1月1日星期四00:00:01格林威治标准时间;路径=/;域名=.facebook.com;httponly Set Cookie:datr=vG1BThzB5emc65eco5mEIJt-;expires=2013年8月8日星期四格林威治标准时间17:26:20;路径=/;域名=.facebook.com;httponly Set Cookie:fb_ss=已删除;expires=1970年1月1日星期四00:00:01格林威治标准时间;路径=/;域名=.facebook.com;httponly Set Cookie:fbs_undefined=已删除;expires=1970年1月1日星期四00:00:01格林威治标准时间;路径=/;域名=.facebook.com;httponly Set Cookie:locale=en_US;expires=2011年8月16日星期二17:26:20 GMT;路径=/;domain=.facebook.com设置Cookie:lsd=_G6Yd;路径=/;domain=.facebook.com设置Cookie:PHPSESSID=已删除;expires=1970年1月1日星期四00:00:01格林威治标准时间;路径=/;域名=.facebook.com;httponly设置Cookie:wd=已删除;expires=1970年1月1日星期四00:00:01格林威治标准时间;路径=/;域名=.facebook.com;httponly内容编码:gzip内容类型:text/html;charset=utf-8 X-FB-Server:10.63.23.62 X-CNECT:关闭传输编码:分块日期:2011年8月9日星期二17:26:20 GMT

所以这意味着我被注销了。但我可以从浏览器访问FB。必须更改卷曲吗?我甚至不知道从哪里开始查找…:-[ 任何帮助我们都将不胜感激


编辑:代码更新。

您使用的是POST方法,通常用于向站点发送数据。很可能您希望使用GET。由于GET是curl的默认值,如果您不另行指定,只需删除
CURLOPT\u POST
行。

是的,您是对的。但现在它显示了
注销问题。
MyAppName出现错误。请稍后再试。
原因是什么?因为我已经发送了accessToken..问题在哪里..请记住,curl运行在您的服务器上,完全/完全独立于浏览器的操作。如果您希望curl从FB获取需要登录的内容,您必须复制登录过程这就是我要说的n我说我已经有了当前会话用户的AccessToken n我不知道用户的登录详细信息。所以这也没用。
$furl='https://www.facebook.com/dialog/stream.publish?access_token=bla-bla&other-pram';
$cookie_string="";
foreach( $_COOKIE as $key => $value ) {
  $cookie_string .= "$key=$value;";
};
$curl=curl_init();
curl_setopt($curl,CURLOPT_URL,$furl);
curl_setopt ($curl, CURLOPT_REFERER,'my domain');
curl_setopt($curl, CURLOPT_HEADER, 1);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt ($curl, CURLOPT_USERAGENT,$_SERVER['HTTP_USER_AGENT']);
curl_setopt ($curl, CURLOPT_COOKIE,$cookie_string); 
curl_setopt($curl, CURLOPT_ENCODING, "");
$buffer = curl_exec($curl);
curl_close($curl);
//var_dump($buffer);
if (empty($buffer))
{
    print "Sorry,no content.";
}
else
{
    print $buffer;
}