Facebook API php - 将新闻项目发布到 facebook 群组
Posted
技术标签:
【中文标题】Facebook API php - 将新闻项目发布到 facebook 群组【英文标题】:Facebook API php - Post a news item to a facebook group 【发布时间】:2011-08-31 19:34:20 【问题描述】:*强文本*我有一个每天发布文章的网站。
我希望有一个相应的 Facebook 群组,我可以在我的网站上同时发布文章。
我已经使用 api 在 twitter 中设置了类似的安排。当我将一篇文章发布到我的网站时,它会自动发布标题并通过 twitter API 链接回 twitter。我希望我的 facebook 群组也有类似的安排。
是否可以将我的故事转发到我的 Facebook 群组墙?
编辑
好的,我已经到此为止了,不要再进一步了:
第 1 步:获得发布到流的授权
if ($fp = fopen('https://graph.facebook.com/oauth/access_token?client_id=XXXXXXXXXX&client_secret=XXXXXXXXXXXXtype=client_cred&scope=publish_stream', 'r'))
$content = '';
// keep reading until there's nothing left
while ($line = fread($fp, 1024))
$content .= $line;
$tokens = explode("access_token=",$content);
// do something with the content here
$auth_token = $tokens[1];
fclose($fp);
else
// echo" an error occured when trying to open the specified url";
第 2 步:使用我的授权码将我的消息发送到流(我选择使用 cURL):
$message="This will be a post on my groups wall.";
$url = "https://graph.facebook.com/my_app_id/feed";
$data = array('message' => $message, 'auth_token' => $auth_token);
$handle = curl_init($url);
curl_setopt($handle, CURLOPT_POST, true);
curl_setopt($handle, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl_handle,CURLOPT_URL,$url);
curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,2);
curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1);
$buffer = curl_exec($curl_handle);
curl_close($curl_handle);
if (empty($buffer))
print "Nothing seems to have happened";
else
print $buffer;
代码运行没有错误,但没有返回任何内容,也没有任何内容发布到墙上
有什么想法吗?
【问题讨论】:
【参考方案1】:Facebook 对待页面的方式与对待人的方式相似,您指定一个与您的群组的页面 ID 相关联的 UID。然后只需使用 Facebook 的 Graph API 发布到流中,就像您对人一样。
要授权,您需要从管理员那里获得 Facebook API 权限并请求 manage_pages
权限。
您需要的所有信息都包含在这里:https://developers.facebook.com/docs/reference/api/#impersonation。
(Ctrl+F Page Login
获取有关授权更新到页面的更多信息)。
【讨论】:
以上是关于Facebook API php - 将新闻项目发布到 facebook 群组的主要内容,如果未能解决你的问题,请参考以下文章
升级图 API 2.0 后从 Facebook 读取新闻提要失败
如何使用 Graph Api 在 facebook 新闻提要中获取“新添加的照片到相册”