Facebook Graph API - 如何将事件发布到群组事件页面?

3
我希望能够使用Graph API从其他地方运行的PHP应用程序向Facebook“群组”发布活动。基本上,当有人在我的系统上创建一个事件时,我希望也将其作为Facebook群组中的一个事件发布。
我在Facebook上创建了一个应用程序,然后使用以下URL获取授权令牌:

https://graph.facebook.com/oauth/access_token?client_id=XXXX&client_secret=XXXX&type=client_cred

这会让我获得一个可以使用的令牌。

然后我尝试像这样创建我的事件 -

https://graph.facebook.com/{GROUP_ID}/events?name=Test%20event&start_time=$st&end_time=$et&access_token=$oauth&privacy=OPEN&page_id={GROUP_ID}

$st和$et是包含事件开始和结束时间的php变量,$oauth包含我的访问令牌。

但我收到了一个权限错误。

很明显,我的应用程序的访问令牌没有权限将事件发布到我的群组。那么...有没有办法给它这些权限?还是我需要使用不同的方法?


你找到了一种将事件发布到群组的方法吗?最好使用Graph API。 - BlueCacti
1个回答

2

当您登录时,需要请求权限。例如(Facebook的标准PHP SDK):

$loginUrl = $facebook->getLoginUrl( array('req_perms' => 'publish_stream,create_event,offline_access,manage_pages') );

其中,“create_event”当然会给您创建新事件的权限。


1
你知道我是否可以使用图形 API 来完成这个任务吗?如果我是以应用程序身份而不是用户身份登录,我是否仍然能够完成它? - jcoder
你使用什么进行身份验证/获取访问令牌? - Sebs
1
在这里找到了它:http://developers.facebook.com/docs/authentication/ 你应该在访问令牌请求的末尾添加以下内容,而不是'req_perms'。scope=publish_stream,create_event,offline_access,manage_pages(或者至少是你需要的)。所以在你的情况下,应该是这样的:https://graph.facebook.com/oauth/access_token?client_id=XXXX&client_secret=XXXX&type=client_cred&scope=create_event - Sebs
2
谢谢。一旦你知道在哪里查找,Facebook文档就还好,但是当你不太清楚需要了解什么时,很难找到东西 :) - jcoder
我实际上找到了一篇博客文章http://www.typeoneerror.com/blog/post/permanent-facebook-sessions-and-posting-as-a-page,结合这篇文章让我成功地让它工作。 - jcoder
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接