【发布时间】:2013-10-25 18:36:00
【问题描述】:
我正在尝试以页面名称向页面添加事件。我是该页面的管理员,我发现了很多关于该主题的内容,但是,无论我做什么,它都以 PHP Exception 结尾:
未捕获的异常:您必须是指定页面的管理员才能执行请求的操作。
我可以在自己的个人资料中使用我的应用添加活动。所以,我认为问题在于访问令牌。我尝试了几种方法,但对我来说最好的方法似乎是:
- 打开图形 API 资源管理器
- 选择我的应用程序
- 请求具有 manage_pages、publish_actions、publish_stream、create_event 权限的新访问代码
- 请求 /me/accounts
- 从我要发布到的页面中获取 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在该代码中来自哪里?你有debugged it 看看它是否真的是该页面的有效访问令牌? -
@CBroe 抱歉,$access_token 和其他使用的变量位于代码之上。我用developers.facebook.com/tools/debug 验证了代码,它是vali。配置文件 ID 与我的测试代码中的 $page_id 相同。
标签: php facebook facebook-graph-api facebook-php-sdk