2012-08-12 104 views
0

我已經搜索了一段時間的谷歌,找到一種方法來獲得一個隨機的Facebook活動頁面的ID到一個網站上。到目前爲止,我一直在獲取所有事件的信息,如標題描述中的成功,但我有一個問題,獲得rsvp狀態。我嘗試了幾件事情,但沒有成功,現在我寫的腳本在昨天工作的時候不會工作。Facebook事件API

這裏是我的代碼:

require_once("facebook-platform/src/facebook.php"); 
$config = array(); 
$config['appId'] = 'aaaaaaa'; 
$config['secret'] = 'bbbbbbbbbb'; 
$config['fileUpload'] = false; // optional 

$facebook = new Facebook($config); 
// See if there is a user from a cookie 
$user = $facebook->getUser(); 

if ($user) { 
    try { 
    // Proceed knowing you have a logged in user who's authenticated. 
    $user_profile = $facebook->api('/me'); 
    } catch (FacebookApiException $e) { 
    echo '<pre>'.htmlspecialchars(print_r($e, true)).'</pre>'; 
    $user = null; 
    } 
} 
var_dump($user);// to check the returned user account which is int(0) and yesterday it 
//worked fine giving me all the details 

//now this is the code for getting the event 
$fql='{ 
"event_info": "SELECT name,description, pic_small,pic_big, eid,venue,location FROM  event WHERE eid =266159320165868", 
"event_venue":"SELECT name, username, page_id,location FROM page WHERE name IN (SELECT  venue.id FROM #event_info)" 
}'; 

$setup = array(
'method' => 'fql.multiquery', 
'queries'  => $fql, 
'callback' => '' 
); 
$result = $facebook->api($setup); 

//此代碼工作得很好,但現在它doesen't了,因爲我不能爲用戶

另一件事我想TOT做登錄從事件中獲得參加按鈕是否有人有任何想法?

回答

1

看起來你已經有了三個問題:

  1. 是你的代碼是不工作了。從Facebook註銷,重新啓動瀏覽器並清除緩存,然後重新登錄到Facebook並查看它是否再次運行。

  2. 您是否正在尋找某個特定用戶的rsvp狀態。爲了得到這個,你需要在上面的多查詢中添加一個查詢。

    'attending_event': '選擇rsvp_status FROM event_member其中uid =我()和EID = (SELECT EID FROM #event_info)'

  3. 你不能對事件的 「出席」 按鈕。您需要將自己的按鈕編碼爲https://graph.facebook.com/EVENT_ID/attending,當它由被認證的用戶點擊時。

看到這裏facebook的文檔的詳細信息:https://developers.facebook.com/docs/reference/api/event/#attending

+0

謝謝現在我得到主治按鈕的部分。我真的不想獲得用戶的rsvp_status,我想要獲取實際事件的rsvp_status,看看誰正在參加我可以使用的內容?有沒有辦法從我的腳本中註銷自己? – 2012-08-12 16:28:18

+0

是的,你可以註銷你的腳本,但是如果你還沒有對它進行編碼,註銷FB也會將你從腳本中註銷。您可以通過從上面的#attending_event查詢中刪除'uid = me()'來查看參加該活動的所有id的列表。你可以通過在你的'#event_info'查詢中加入'attending_count'等字段來計數。 – cpilko 2012-08-12 16:34:26

+0

謝謝你很多我目前正在努力實現這一點,我會盡快回復:D。 – 2012-08-12 16:38:32