0

一个多月前,我为网站创建了 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 博客,但没有任何内容(通常情况下,很遗憾)。有什么线索吗?

4

3 回答 3

1

Facebook 已禁用通过 API 为用户创建事件的功能。文档说:

您不能通过 Graph API 创建事件。

但是,如果您使用的是 1.0 的 Graph API,仍然只允许在有限的时间内发布。但是create_event权限已被删除。

于 2014-06-20T10:15:27.983 回答
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 将返回错误的原因是您的应用有权代表用户创建事件,但是一旦创建并设置为私有,应用就没有必要的权限来查看事件,因此无法将事件 ID 作为响应返回。

我会尝试检查我的时间格式,然后删除 privacy_type 看看会发生什么。

更新:我还确定如果您的应用也具有 user_events 权限,您可以将 privacy_type 设置为 SECRET。仅供参考。

于 2014-06-20T17:35:48.977 回答
0

这看起来很荒谬,但正在改变

'privacy_type' => 'SECRET',

'privacy' => 'SECRET',

解决了这个问题。

我的猜测是,本月 FB 旧 API 发生了微小且未记录的更改。

非常感谢@kevindeleon 指导我检查更多关于隐私设置的信息。

于 2014-06-21T10:50:02.457 回答