簡體   English   中英

使用RestFB&Graph API 2.6閱讀Facebook(私人)消息

[英]Read Facebook (private) messages with RestFB & Graph API 2.6

我正在嘗試構建一個Java桌面應用程序,該應用程序將使用RestFB庫登錄Facebook的服務器,從與該用戶交談的最近10個人中獲取最后25條消息,並顯示一個彈出窗口(如果調用了他們的名字)。

到目前為止,我必須使用應用程序的appID和appSecret登錄Facebook,並獲得令牌。

我的問題是:在官方Graph API文檔中,他們說“ read_mailbox”功能現在已過時,僅適用於用戶所在的頁面。 他們還說在Graph API 2.4(我使用2.6)之后將其刪除。 如何使用Graph API 2.6閱讀用戶的私人消息? 請注意,當我搜索消息時,我不知道與該用戶交談的最后10個人。 這個問題已經回答了,但是對於該解決方案,您必須知道sessionID(我想獲取而不是提供)

僅當您要訪問用戶的郵箱時,才使用read_mailbox權限。 頁面郵箱需要具有read_page_mailbox權限。

Facebook用戶應使用Facebook Messenger,這就是為什么不贊成使用該權限的原因,您可以在該權限的說明中找到此部分

此權限授予在尚不可用Facebook的平台上構建Facebook品牌客戶端的應用程序。 例如,Android和iOS應用程序將不會獲得此權限。 此外,不會向Web,桌面,車載和電視應用授予此權限。

除此之外,技術部分應像這樣工作:

首先,您需要對話。 它們按updated_time排序,因此您可以按正確的順序獲得最后的對話。 您只需要前10個會話ID。

me/conversations?limit=10&fields=updated_time

然后,您獲取每個對話ID並獲取消息。 例如,此調用:

<conversationid>/messages?limit=25

提示一下,您可以使用這些字段並使用類似的調用:

me/conversations?fields=messages.limit(25)&limit=10

一次通話就可以獲取想要了解的所有信息,但也許請求的數據太多,Facebook返回了一個異常。 因此,我提出了第一種獲取數據的方法。

您可以通過查看文檔將這些調用轉換為RestFB。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM