我試圖將一個事件添加到頁面名稱中的頁面。我是該頁面的管理員,但發現了很多關於該主題的內容,但無論我做什麼,它都以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