一个多月前,我为网站创建了FB应用程序,可以创建用户事件。它使用FB PHP SDK v.3.2.3和Graph API版本1.0:
$facebook = new Facebook(array('appId' => MYAPPID, 'secret' => MYAPPSECRET));
$facebook->api('/me/events', 'POST', array('name' => 'Your meeting', 'start_time' => '2014-06-20', 'location' => 'Cool place', 'privacy_type' => 'SECRET'));
大约几天前它突然停止工作 - 现在facebook返回OAuthException:“发生了一个未知错误。”我使用有效令牌(已选中)。
我检查了FB Devs博客,但没有任何关于它(通常情况下,可悲的是)。有线索吗?
答案 0 :(得分:1)
Facebook disabled the ability通过API为用户创建活动。文档说:
您无法通过图谱API创建活动。
但是,如果您使用1.0 of the Graph API,则仅允许在有限时间内发布。但create_event
权限已被删除。
答案 1 :(得分:0)
我也遇到了错误,这是由于'privacy_type'=> 'SECRET'和时间格式......看起来像发送privacy_type => SECRET会抛出OAuth错误,但实际上仍会创建具有正确权限的事件。此外,您的日期必须采用ISO-8601时间格式。
https://developers.facebook.com/blog/post/2012/08/01/platform-migration--events-timezone-support/
privacy_type =>的原因SECRET将返回错误,是您的应用程序有权代表用户创建事件,但是一旦创建并设置为私有,该应用程序就没有必要的权限来查看事件,因此可以' t将事件ID作为响应返回。
我会尝试检查我的时间格式,然后只删除privacy_type并查看会发生什么。
更新:如果您的应用也具有user_events权限,我还确定您可以将privacy_type设置为SECRET。仅供参考。
答案 2 :(得分:0)
这似乎很荒谬,但正在改变
'privacy_type' => 'SECRET',
到
'privacy' => 'SECRET',
解决了这个问题。
我的猜测是,这个月FB旧API的变化很小而且没有记录。
非常感谢@kevindeleon指示我查看有关隐私设置的更多信息。