如何在知道线程 id 的情况下获取消息线程 URL?

2024-02-08

如果我有消息 ID,如何构建链接以查看 facebook.com 上的消息 http://facebook.stackoverflow.com/questions/7747622/how-can-i-construct-a-link-to-view-a-message-on-facebook-com-if-i-have-the-messa问题,但没有答案。如果我使用 /me/inbox API 端点获取了线程的 ID,并且需要将用户重定向到显示该线程的 Facebook 本身,该怎么办?如何构建 URL。好像有这样的网址其中线程 id 是最后的数字。但也有一些陌生的网址,例如之前的规则不起作用的地方。 有没有使用 Graph API 或 FQL 获取线程 URL 的解决方案?


如果您拥有的 id 是一个字符串对象(可能是一个 guid),那么它来自 Facebook 较旧的消息系统存储结构。现在他们已经更新到了新的存储结构,需要将旧的存储结构迁移到新的存储结构中

所以你有一个相当简单的检查:

如果线程 id 是一个 long (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;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在知道线程 id 的情况下获取消息线程 URL? 的相关文章

随机推荐