我試圖獲得有關事件的信息,我受到邀請。 我在Open Graph頁面創建了具有所有可用權限的訪問令牌,並使用它。通過Facebook API訪問事件
我可以取一個事件,但我看不到另一個,我很在乎。我注意到這個事件是「僅限邀請」,但它的設置超出了我的控制範圍。
它不顯示在我的活動/可能(當我點擊「也許」),當我嘗試通過ID(graph.facebook.com/id)訪問它,我得到錯誤消息「不支持的獲取請求「。
我想:
- RestFB(爪哇) - 這是我的目的
- PHP SDK
- 的JavaScript SDK
我可以做更多的事情,除了使用FQL? 我讀過它,我想用簡單的請求來獲取活動,如本頁所述:https://developers.facebook.com/docs/graph-api/reference/event/。
我可以附上代碼,如果這有幫助。 非常感謝你看看這個。
編輯: Java代碼:
FacebookClient facebookClient = new DefaultFacebookClient(MY_ACCESS_TOKEN);
String attending = facebookClient.fetchObject("{event-id}/attending", String.class);
System.out.println("Attending: " + attending);
它的工作原理就像一個事件的魅力,但失敗(返回數據的空數組)另一事件(我被邀請到兩個)。
JavaScript代碼:
FB.api(
'https://graph.facebook.com/{event-id}',
'get',
null,
function(response) {
if (!response) {
alert('Error occurred.');
} else if (response.error) {
document.getElementById('result').innerHTML =
'Error: ' + response.error.message;
} else {
alert('test');
response['data'].forEach(function(entry) {
alert(entry['object']['name']) ;
});
}
}
);
不返回錯誤,但響應[「數據」]數組爲空,而在另一種情況下適當地包含數據。
編輯2: 此外,我試着與restFB FQL。它相似不起作用 - 以下代碼只返回一個事件,例如http請求。
FacebookClient facebookClient = new DefaultFacebookClient(MY_ACCESS_TOKEN);
String query = "SELECT name, eid FROM event where eid = {event1-id} OR eid = {event2-id}";
List<FqlUser> event = facebookClient.executeFqlQuery(query, FqlUser.class);
System.out.println("Events: " + event);
請始終與您分享代碼。這告訴我們你到目前爲止所嘗試過的。此外,這個地方充滿了極客(包括我),代碼可以幫助我們更好地理解你的問題。 –
可以肯定的是,您希望通過API接收第二個事件,您是否被邀請(因爲它是「僅邀請」)?因爲如果你不是,你只是沒有「看到」它的許可... – Tobi
我寫道:「我被邀請都」。是的,我仍然被邀請參加。我可以用正常的方式看到它。最後的結論很明顯:) – Line