通过此POST请求,我能够通过我的脸书应用中的图形API创建脸书活动:
POST https://graph.facebook.com/<MY_APP_ID>/events?
start_time=2013-12-21T19%3A30%3A00
&end_time=2013-1221T20%3A30%3A00
&name=test+event
&access_token=<MY_APP_ACCESS_TOKEN>
响应是一个JSON,其中包含新创建的事件的ID。
在此之后,我尝试用'SECRET'隐私创建另一个事件:
POST https://graph.facebook.com/<MY_APP_ID>/events?
start_time=2013-12-21T19%3A30%3A00
&end_time=2013-1221T20%3A30%3A00
&name=test+secret+event
&privacy_type=SECRET
&access_token=<MY_APP_ACCESS_TOKEN>
此处的响应也是一个带有已创建事件的id的JSON。
之后我尝试列出我的应用程序的事件:
GET https://graph.facebook.com/<MY_APP_ID>/events/?access_token=<MY_APP_ACCESS_TOKEN>
在响应JSON中,我只能看到一个非秘密事件。缺少秘密。
在此之后,我试图逐个获取事件的细节:
GET https://graph.facebook.com/<EVENT_ID>/?access_token=<MY_APP_ACCESS_TOKEN>
如果使用非秘密事件的id,则响应包含该事件的所有详细信息,但是当我使用secret-event的id时,它会以错误msg响应:
{
"error": {
"message": "Unsupported get request.",
"type": "GraphMethodException",
"code": 100
}
}
为什么我无法使用我的应用创建SECRET(仅限邀请)事件?
答案 0 :(得分:3)
根据图谱API Events页面,可以通过图谱API:用户,页面和应用程序为三种对象类型创建事件:
User,Page和Application对象具有事件连接。
但是,Graph API Event页面仅提供有关如何创建事件的User和Page部分的链接(请参阅Graph API事件页面,创建事件部分)。没有进一步引用应用程序事件,Application部分未提及事件连接。
在两个链接到事件类型中,使用privacy_type
参数创建一个事件仅支持用户,而不是页面:
用于创建用户事件的支持参数
name,start_time,end_time,description,location,location_id, privacy_type
来源:User Graph API details on Facebook Developers
支持创建页面事件的参数:
name,start_time,end_time,description,location,location_id
来源:Page Graph API details on Facebook Developers
所以我的猜测是应用程序遵循Page Event连接参数,但是没有正确记录。
答案 1 :(得分:1)
如果您将其创建为SECRET
,则无法使用应用访问令牌检索该事件,因为您的应用不是用户,也看不到该事件。
只有创建它的用户和其他与会者才能看到它 - 用户的访问令牌应该返回事件,因为用户访问令牌的行为与用户相同,并且如果它们被标记为参加活动,他们可以看到它
答案 2 :(得分:0)
我猜你应该使用以下方法之一:
GET /EVENT_ID/invited/USER_ID
GET /EVENT_ID/attending/USER_ID
GET /EVENT_ID/maybe/USER_ID
GET /EVENT_ID/noreply/USER_ID
GET /EVENT_ID/declined/USER_ID
或者看看这个: