Python 如何使用新的Graph API添加Facebook事件
我正在尝试使用Facebooks api创建一个事件。(来自django应用程序)是否有人使用新的graph api创建了事件 在新文档中似乎没有用于创建API的文档化方法,但您可以使用如下所述的REST接口方法: 目前对我来说,最大的障碍是要求用户会话运行任何REST接口。我对Facebook的许多请求(活动创建、邀请)都不会在活跃的Facebook用户登录期间运行。它们需要从应用程序中创建。Python 如何使用新的Graph API添加Facebook事件,python,django,facebook,facebook-graph-api,Python,Django,Facebook,Facebook Graph Api,我正在尝试使用Facebooks api创建一个事件。(来自django应用程序)是否有人使用新的graph api创建了事件 在新文档中似乎没有用于创建API的文档化方法,但您可以使用如下所述的REST接口方法: 目前对我来说,最大的障碍是要求用户会话运行任何REST接口。我对Facebook的许多请求(活动创建、邀请)都不会在活跃的Facebook用户登录期间运行。它们需要从应用程序中创建。 到目前为止,我还不确定这是新API中的限制还是SDK中没有实现。如果用户不在线时需要访问用户数据,则
到目前为止,我还不确定这是新API中的限制还是SDK中没有实现。如果用户不在线时需要访问用户数据,则有离线访问扩展权限,可为您提供更长的会话密钥。这可用于在用户脱机时执行更新 虽然我无法帮助您使用Django,但大多数Graph API似乎都适合我(不幸的是,没有尝试过事件),但似乎文档记录得很糟糕。请检查此处:
使用所需信息对/PROFILE_ID/events进行POST调用。不幸的是,它们没有列出所有可能的参数,但可以在下面的REST API文档中找到它们。要创建事件,您可以使用以下代码:(需要权限才能实现您的要求)
update\u url=”https://graph.facebook.com//events"
表单_字段={
“访问令牌”:“您的访问令牌”,
“开始时间”:“1272718027”,
“地点”:“某处”,
“名称”:“使用图形API的新测试事件”
}
温度={}
对于k,v,在form_字段中。iteritems():
temp[k]=unicode(v).编码('utf-8')
form_data=urllib.urlencode(临时)
res=urlfetch.fetch(url=update\uURL,
有效载荷=表格数据,
方法=urlfetch.POST,
headers={'Content-Type':'application/x-www-form-urlencoded'})
结果=json.loads(res.content)
如果result.get('id',False):
“已成功创建事件”
其他:
“失败”
我知道离线访问权限会话解决方案。最大的问题是知道我是否可以创建一个事件。api似乎不允许这样做。似乎对Graph API的唯一写访问权限实际上是rsvp/comments/like,而不是其他。看起来正是我想看到的!非常感谢!你知道图片上传的编码细节吗?回答得很好!我最终做了很多。我在正确设置位置以及上传图像方面遇到了很多问题。但我正在进步!
update_url = "https://graph.facebook.com/<Your_FacebookProfile_ID>/events"
form_fields = {
"access_token": "Your Access Token",
"start_time" : "1272718027",
"location" : "someplace",
"name" : "New Test Event Using Graph API"
}
temp = {}
for k, v in form_fields.iteritems():
temp[k] = unicode(v).encode('utf-8')
form_data = urllib.urlencode(temp)
res = urlfetch.fetch(url=update_url,
payload=form_data,
method=urlfetch.POST,
headers={'Content-Type': 'application/x-www-form-urlencoded'})
result = json.loads(res.content)
if result.get('id', False):
"Successfully Created Event"
else:
"Failure"