打开图表发布

时间:2011-09-23 13:20:29

标签: facebook oauth facebook-opengraph posting

我会尽量不要让这个太长时间啰嗦。 基本上,使用Open Graph,如果用户“喜欢”某个网页(在我的示例中为博客),您可以对其进行设置,以便在添加新帖子时,会在其新闻Feed中显示一个条目链接到该帖子。

有关据称如何完成此操作,请参阅此处:https://developers.facebook.com/blog/post/465/

基本上,您将OG元标记添加到您的网站,创建应用程序,链接到OG标记中的app_id,如页面,然后它将创建一种只有管理员可以看到的无形Facebook页面 - 用户获得转而去了网站。最重要的是,因为人们喜欢'这个页面,你可以在那个页面上写帖子,用户就会看到它。

奇怪的是,昨天这对我有用,但它突然停止了工作。什么都没有改变,它只是停止了工作。

所以我创建了一个博客,添加了正确的元OG标签,创建了一个应用程序,将fb:app_id标签添加到包含应用程序ID的博客中。

示例中的代码可以分为两部分。首先,获取访问令牌:

$access_token_url = "https://graph.facebook.com/oauth/access_token"; 
$parameters = "grant_type=client_credentials&client_id=" . $app_id . "&client_secret=" . $app_secret;
$access_token = file_get_contents($access_token_url . "?" . $parameters);

工作正常,它返回一个访问令牌。但是,从Facebook页面发布的示例的第二部分不起作用。

$apprequest_url = "https://graph.facebook.com/feed";
$parameters = "?" . $access_token . "&message=" . $mymessage . "&id=" . urlencode($ogurl) . "&method=post";
$myurl = $apprequest_url . $parameters;
$result = file_get_contents($myurl);

我得到的错误是:     (#200)用户尚未授权应用程序执行此操作

Facebook在过去24小时内是否更改了API?

任何帮助都会非常感激,因为这让我完全疯了!

干杯 皮特

1 个答案:

答案 0 :(得分:0)

用户是否会授权您的应用?您需要在第一时间对用户进行身份验证,以便应用可以代表他发布: http://developers.facebook.com/docs/authentication/

您需要申请publish_stream权限。 以下是参考:http://developers.facebook.com/docs/reference/api/permissions/

之后,您可以按照示例发布或使用您当前拥有的内容。 (记得保留access_token)

以下是JS https://developers.facebook.com/docs/reference/dialogs/feed/

的示例