2011-01-29 89 views
2

在郵件通知,我們可以看到類似Twitter的API:如何知道使用的應用程序遵循

<username> followed you using <appname>. 

這是偉大的。但是,有沒有什麼可能的方法來知道使用API​​的應用程序名稱?

+1

哇,這很有趣!我不知道。 (我一直關閉電子郵件通知) – BoltClock

+0

更新,2012年8月:這不再可用,對不對? –

+0

@ julien_c:究竟是什麼? – zerkms

回答

2

我看了一下REST API,找不到任何支持它的東西。我的猜測是,這是一個twitter.com功能,可在API中使用(尚未)。

我看最合乎邏輯的地方是狀態/追隨者友誼/顯示。在這兩種情況下,都沒有確定性。檢查我的賬戶的追隨者電子郵件,我發現多個追隨者使用應用程序(如PeopleBrowr和SocialOomph)來跟蹤該賬戶。在大多數個案中,上的最新status對象與用於跟蹤我的應用程序名稱相匹配,但這絕對不是一件確定的事情。

所以,直接回答你的問題,不,我不認爲它可以通過API來完成(不除非有一個未公開的方法,在那裏,做到這一點。)

我可以,但是,想到的一種獲取該信息的方式。一種方法是設置接收後續通知的電子郵件帳戶,以將副本轉發到由自動過程檢查的郵箱。當電子郵件顯示時,解析它們以查找用於跟隨您的應用程序名稱。

我用下面的正則表達式(在C#)在電子郵件的身上找到應用程序的名稱和URI:

Match m = Regex.Match(input, @"followed you using\s*<a[^""]+""(?<appUri>[^""]+)""[^>]+>(?<appName>\w*)</a>"); 

我用m.Groups["appName"].Value退出應用程序名稱,並m.Groups["appUri"].Value拉出URI從比賽。

爲了配合應用程序信息給用戶,我只好也發現屏幕名稱:

Match m = Regex.Match(user, @"\(@<a[^>]+>(?<screenName>\w*)</a>\) is now following"); 

我用m.Groups["screenName"].Value來提取匹配的值。

+0

是的,我也想過轉發解決方案。但是對於公共服務來說,這不是一種可以遵循的方式,因爲電子郵件可以簡單地製作出來,所以我們不能相信這些信息。無論如何,+1 – zerkms

+0

@zerkms - 是的,這是真的。我只是想說明它可以完成,而不是通過API。順便說一句,我認爲你應該支持,所以我[打開了一個問題](http://code.google.com/p/twitter-api/issues/detail?id=2072)在谷歌代碼上。隨意去那邊投票吧! – arcain

相關問題