有How can I construct a link to view a message on facebook.com if I have the message id的問題,但沒有答案。如果我使用/ me/inbox API端點獲得了線程的id,並且需要將用戶重定向到顯示此線程的Facebook本身,該怎麼辦?我如何構建URL。似乎有像http://www.facebook.com/messages/?action=read&tid=id.143666952390138這樣的URL,其中線程ID是最後的數字。但也有一些陌生人的網址,如http://www.facebook.com/messages/?action=read&tid=27726d81656e4c07ae5654116cccb724,其中以前的規則不起作用。 有沒有解決方案使用Graph API或FQL獲取線程URL?如何獲得知道線程ID的消息線程URL?
5
A
回答
8
如果你擁有的id是一個字符串對象(可能是一個guid),這是來自Facebook舊的消息系統存儲結構。現在,他們已經更新到需要舊的要遷移到新
新的存儲結構,所以,你有一個相當簡單的檢查:
如果線程ID是一個長期(的Int64/BigInt有),然後你有一個新的線程,並且可以使用 http://www.facebook.com/messages/?action=read&tid=id.THREAD_ID
如果線程ID是一個字符串,那麼你有一箇舊的線程,並可以使用
http://www.facebook.com/messages/?action=read&tid=THREAD_ID
很多編程語言翻譯年齡有自己的形式來檢查價值的類型。
var threadId = (string)data.thread_id;
var longVal = 0L;
var isLong = Int64.TryParse(threadId, out longVal);
var threadUrl = (isLong) ?
"http://www.facebook.com/messages/?action=read&tid=id." + threadId :
"http://www.facebook.com/messages/?action=read&tid=" + threadId;
相關問題
- 1. 如何知道誰是給定線程ID的父線程
- 2. 我如何知道線程ID爲PDH的線程名稱
- 3. 如何通過知道線程ID來獲取線程的名稱?
- 4. 如何獲得XMPP聊天線程的線程ID?
- 5. 如何獲得線程ID在C#
- 6. 如何獲得離線消息的JABBERID
- 7. 知道線程數
- 8. MongoDB的 - 得到消息線程
- 9. Haskell,通道,STM,線程,消息傳遞
- 10. UI線程如何知道另一個線程上的數據?
- 11. Hubot得到flowdock線程的細節(線程ID和線程中的第一條消息)
- 12. 通過Mailcore 2獲取Gmail:線程ID與消息ID與UID
- 13. Facebook api消息線程url構造
- 14. 如何知道何時殺死線程?
- 15. 如何知道界面窗口的id線程?
- 16. Python線程 - 如何知道線程是否已在運行?
- 17. 如何知道這個線程是否是一個UI線程
- 18. 如何在linux c程序中獲得pthread的線程ID?
- 19. 你如何獲得線程的進程ID?
- 20. 如何知道是誰開始線程
- 21. 如何知道線程已完成
- 22. 如何知道線程開始
- 23. 從線程獲取線程ID
- 24. Qt在主線程中獲得線程ID?
- 25. 獲取線程ID
- 26. C++線程:如何發送消息到其他長線程?
- 27. 知道線程目標C
- 28. 不知道在主線程:(
- 29. 在線程開始之前獲取線程的線程ID
- 30. 如何向Xcode的主線程發送消息或通知?
這將是巨大的,如果一切是這樣簡單,但要求從圖形API/ME /收件箱時的27726d81656e4c07ae5654116cccb724(ID應該如何才能正常打開Facebook的線程頁)線程我得到一個64位的「ID 「:」1956133107397「。如果我使用來自/ me/inbox(64位之一)的id來構造線程頁面url,我會得到「No message found」錯誤。我無法使用Graph API從facebook中檢索更長的十六進制id。 – vian 2012-02-04 08:14:03
我不知道你對值做了什麼,但我總是嘗試使用我上面發佈的代碼始終工作。當然,你必須擁有一個**有效的用戶訪問令牌和'read_mailbox'權限**。請參閱:https://developers.facebook.com/docs/reference/api/permissions – DMCS 2012-02-04 09:39:26
我有一個read_mailbox權限,我檢查它的工作,但由於某種原因,我可以得到長十六進制字符串ID只有當我使用/我/線程連接,當我使用/我/收件箱我得到一個非工作的ID。如果不需要用戶成爲應用程序的開發人員,使用/ me/threads會更容易。 – vian 2012-02-07 09:36:50