2013-12-12 87 views
3

我試圖從特定組中獲取所有消息。我得到了json反饋。唯一的問題是,它只返回20條消息。這是默認設置嗎?有什麼辦法可以在做請求的時候,我可以指定我是否想要所有的消息,默認情況下只有20個,甚至在開始和結束日期之間發佈消息?Yammer JSON Feed只返回20條消息

我RESTAPI電話是:

https://www.yammer.com/api/v1/messages/in_group/[id].json

從Yammer的開發者文檔 <

自動完成:10秒內發出10次請求。

消息:30秒內發出10次請求。

通知:30秒內發出10次請求。

所有其他資源:10秒內發出10次請求。

這些限制是獨立的,例如,在同樣的30秒內,您可以發出10條消息呼叫和10條通知呼叫。具體的速率限制可能會改變,但遵循下面的指導方針將確保您的應用程序不會被阻止。>>

我已經嘗試使用限制作爲參數來更改超過20個消息的數量。但它似乎並不要工作?

這是因爲速率限制的問題。如果不是,問題是什麼?從Yammers Developer documentation


+0

我們怎麼知道得到20?我們沒有什麼可以看的,你已經做了。 – MichaelP

+0

我不能上傳包含私人公司信息的json文件bcoz。我應該給什麼話題更多的細節?請告訴 – Aakansha

回答

6

正式文件

消息 - 查看郵件

終點:

1)用戶(其訪問令牌的所有公共信息被用來進行API調用從此以後簡稱當前用戶)Yammer網絡。對應於Yammer Web界面中的「所有」對話。

GET https://www.yammer.com/api/v1/messages.json 

2)用戶的提要,根據他們在「跟隨」和「頂部」對話之間進行的選擇。

GET https://www.yammer.com/api/v1/messages/my_feed.json 

3)對應於「頂級」的對話,這是絕大多數用戶會在Yammer的網絡界面中看到用戶的算法飼料。

GET https://www.yammer.com/api/v1/messages/algo.json 

4)「跟隨」饋送是涉及用戶所關注的人,組和話題的對話。

GET https://www.yammer.com/api/v1/messages/following.json 

5)用戶發送的所有消息。 /api/v1/messages/from_user/logged-in_user_id.format的別名。

GET https://www.yammer.com/api/v1/messages/sent.json 

6)用戶收到的私人信息。

GET https://www.yammer.com/api/v1/messages/private.json 

7)用戶收到的所有消息。

GET https://www.yammer.com/api/v1/messages/received.json 

參數:

的消息API端點返回一個相似的結構和支持以下查詢參數:

older_than - 返回比指定爲數字字符串消息ID舊郵件。這對分頁消息很有用。例如,如果您目前正在查看20封郵件,而最早的郵件是2912號郵件,那麼您可以在請求中附加「?older_than = 2912」,以便在您看到的郵件之前獲取20條郵件。

newer_than - 返回比指定爲數字字符串的消息ID更新的消息。這應該在輪詢新消息時使用。如果您正在查看消息,並且最近返回的消息是3516,則可以使用參數「?newer_than = 3516」發出請求,以確保您的頁面上已經沒有重複的消息副本。

threaded = [true |擴展] - threaded = true將只返回每個線程中的第一條消息。此參數適用於顯示消息線程摺疊的應用程序。 threaded = extended將按照最近活動的順序以及最近兩條消息的順序返回線程啓動器消息,因爲它們在Yammer Web界面的默認視圖中查看。

限制 - 僅返回指定數量的消息。適用於threaded = true和threaded = extended。


注意到了限制參數,你可以在你的GET請求設置 - 所以在此基礎上的文檔,如果它是正確的(我不是一個Yammer的開發者,但我不使用它),你應該能夠做

https://www.yammer.com/api/v1/messages.json?limit=50 

也就是說在理論上,而且可通過文檔閱讀上有搜索

節0頁 - 每個頁面只返回每種類型的20個結果,但每個查詢返回一個總計數。頁面= 1(默認)將返回項目1-20,頁面= 2將返回項目21-30等。

這對我說,他們被限制爲20個結果返回。

UPDATE

後與https://www.yammer.com/api/v1/messages.json?limit=50測試這一點,它沒有返回50消息,但這樣做https://www.yammer.com/api/v1/messages.json?limit=5通過文檔閱讀了一下之後也將返回唯一5消息我會說,Yammer的限制消息的數量來20更多我讀

例如,如果您當前正在查看20條消息,而最早的是2912號,則可以在請求中附加「?older_than = 2912」以獲取20條消息s之前你看到的那些「

這對我說,他們只會返回最多20個。所以我認爲你一直在20個消息卡住。

希望這會有所幫助。

+0

https://www.yammer.com/api/v1/messages.json?limit=50和https://www.yammer.com/api/v1/messages.json?threaded=true&limit=50,都仍然只能返回20條消息。 – Aakansha

+1

我會說他們限制你20條消息,然後,如果你將50改爲20以下的任何東西,它將返回這個數量的消息。查看更新 – Popeye

0

我通過以遞歸方式請求後續頁面來解決問題。

您可以簡單地增加頁面參數,直到響應爲空,或更新older_than參數,直到屬性meta.older_available爲false。

1

您需要使用參數: 這些消息API端點返回一個類似的結構,並支持以下查詢參數:

older_than - Returns messages older than the message ID specified as a numeric string. This is useful for paginating messages. For example, if you’re currently viewing 20 messages and the oldest is number 2912, you could append 「?older_than=2912″ to your request to get the 20 messages prior to those you’re seeing. 

newer_than - Returns messages newer than the message ID specified as a numeric string. This should be used when polling for new messages. If you’re looking at messages, and the most recent message returned is 3516, you can make a request with the parameter 「?newer_than=3516″ to ensure that you do not get duplicate copies of messages already on your page. 

線程= [真|擴展] - threaded = true將只返回每個線程中的第一條消息。此參數適用於顯示消息線程摺疊的應用程序。 threaded = extended將按照最近活動的順序以及最近兩條消息的順序返回線程啓動器消息,因爲它們在Yammer Web界面的默認視圖中查看。

限制 - 僅返回指定數量的消息。適用於threaded = true和threaded = extended。

例如:年長GET https://www.yammer.com/api/v1/messages.json?older_than=2912 而可以是消息編號20的ID等等,你可以通過20