我正在试验facebook并尝试通过Graph API创建一个事件。我正在使用django和github的python-facebook-sdk。我可以成功发布到我的墙上拉朋友等。
我正在使用django-social-auth进行Facebook登录,并拥有settings.py权限:
FACEBOOK_EXTENDED_PERMISSIONS = ['publish_stream','create_event','rsvp_event']
在Facebook上的图形api资源管理器我的请求有效,所以我知道要使用哪些参数,以及我正在使用它们。
这是我的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
我正在试图弄清楚出了什么问题,但我也很好奇如何弄清楚整体出了什么问题所以我将来可以调试它。它似乎过于笼统,因为我不知道出了什么问题。
答案 0 :(得分: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)