0

我正在尝试使用 facebook 并尝试通过 Graph API 创建一个事件。我正在使用 django 和来自 github 的 python-facebook-sdk。我可以成功发布到我的墙拉朋友等。

我将 django-social-auth 用于 facebook 登录内容,并拥有 settings.py 权限:

FACEBOOK_EXTENDED_PERMISSIONS = ['publish_stream','create_event','rsvp_event']

在 facebook 上的 graph api explorer 中,我的请求有效,所以我知道要使用哪些参数,而且,我正在使用它们。

这是我的python代码:

def new_event(self):
    event = {}
    event['name'] = name
    event['privacy'] = 'OPEN'
    event['start_time'] = '2011-11-04T14:42Z'
    event['end_time'] = '2011-11-05T14:46Z'

    self.graph.put_object("me", "events", args=None, post_args=event)

调用 facebook api 的代码大致是:(也access_token被添加到post_args然后转换为post_data和 urlencoded。

    file = urllib.urlopen("https://graph.facebook.com/me/events?" +
                          urllib.urlencode(args), post_data)

我得到的错误是:

Exception Value: (#100) Invalid parameter

我试图找出问题所在,但我也很想知道如何总体上找出问题所在,以便将来进行调试。它似乎过于笼统的错误,因为我不知道出了什么问题。

4

1 回答 1

0

不太确定如何post_args工作,但这个电话成功了

graph.put_object("me","events",start_time="2013-11-04T14:42Z", privacy="OPEN", end_time="2013-11-05T14:46Z", name="Test Event")

无效参数很可能指向您如何将参数作为 post_args 提供。我认为 SDK 从来没有被设计为像这样喂它。我可能会误会,因为我不确定post_args会做什么。

另一种基于如何put_object设置的**data方法是

graph.put_object("me","events", **event)
于 2012-05-30T05:08:15.677 回答