我试图将一个事件添加到页面名称中的页面。我是该页面的管理员,但发现了很多关于该主题的内容,但无论我做什么,它都以PHP异常结束:为什么我不能将事件添加为页面?
未捕获异常:您必须是指定的页面执行请求的操作。
我可以用我的应用程序在我自己的配置文件中添加事件。所以,我认为问题是访问令牌。我试了几种方法,但对我来说最好的办法似乎是:
- 开放图形API浏览器
- 选择我的应用
- 请求的权限manage_pages,publish_actions,publish_stream,create_event 新的接入代码
- 请求/ ME /占
- 获取从页面我想张贴和在我的脚本中使用它的access_token
我的测试脚本,适用于我自己的配置文件:
require 'src/facebook.php';
$facebook = new Facebook(array(
'appId' => $APPLICATION_ID,
'secret' => $APPLICATION_SECRET,
'cookie' => false,
'fileUpload' => true
));
$event_id = 0;
$event_name = "New Event API Test Event";
$event_start = '2013-12-04';
$event_privacy = "OPEN";
$ret_obj = $facebook->api('/'.$page_id.'/events?access_token='.$access_token, 'POST',
array(
'name' => $event_name,
'start_time' => $event_start,
'privacy_type' => $event_privacy,
'location_id' => $location_id
));
if(isset($ret_obj['id'])) {
echo 'Event with added. ID: ' . $ret_obj['id'];
} else {
echo 'Couldn\'t create event';
}
我做错了什么?
那么'$ access_token'来自哪个代码?你有[调试它](https://developers.facebook.com/tools/debug),看看它实际上是一个有效的访问令牌的页面? – CBroe
@CBroe对不起,$ access_token和其他使用的变量位于代码之上。我使用https://developers.facebook.com/tools/debug验证了代码,它是vali。配置文件ID与我的测试代码中的$ page_id相同。 – Andy