簡體   English   中英

使用Rest API通過URL獲取媒體

[英]Fetching media by urls with Rest API

我想在statuss中檢索媒體 ,但是正如我可以在docs中看到的那樣:

對於直接消息中的媒體,必須通過經過身份驗證的twitter.com會話或使用OAuth 1.0A使用用戶的訪問令牌對請求進行簽名來訪問media_url_https。 無法將這些圖像直接嵌入網頁中

現在我的問題是,如何使用Java API進行此類請求? 或然而,使用僅應用程序身份驗證的RestAPI的正確請求是什么?

另一個問題:直接消息中的媒體和推文中共享的媒體有什么區別? 如何查看表示狀態的json對象內部的差異?

直接消息中的媒體與推文中共享的媒體有什么區別?

如果將圖像發布到Twitter時間軸,則任何Internet用戶都可以看到它。 例如, 在此Tweet上,任何人都可以使用該圖像,無論他們是否已登錄Twitter。 參見https://pbs.twimg.com/media/CSGwFynWoAA2GGG.jpg

如果將圖像發布到直接消息中,則發送者和接收者只能看到該圖像。 為了強制執行此操作,用戶必須登錄其Twitter帳戶,或通過應用發送已簽名的請求。

例如,此圖像只能由我和我發送給https://ton.twitter.com/i/ton/data/dm/639737026624024579/639737026682691584/tg-4St-1.jpg的人看到

如何查看表示狀態的json對象內部的差異?

唯一的區別(除了用於獲取數據的API調用之外)是介質的UR1。 在DM中,它以ton.開始ton. 例如

media_url": "https://ton.twitter.com/1.1/ton/data/dm/......

而在正常的Tweet中,它看起來像

"media_url": "http://pbs.twimg.com/media/.......

現在我的問題是,如何使用Java API進行此類請求? 或然而,使用僅應用程序身份驗證的RestAPI的正確請求是什么?

如果用戶已經登錄到Twitter,則可以下載該圖像。 例如,如果您編寫了一個Web應用程序,並且瀏覽器已經包含Twitter cookie等。

如果不是(或者您使用的是應用),則需要代表用戶對請求進行簽名。

對於REST-您需要隨請求發送OAuth標頭。 Twitter文檔中示例代碼

多余的標題看起來像

Authorization: OAuth oauth_consumer_key="xvz1evFS4wEEPTGEFPHBog", oauth_nonce="kYjzVBB8Y0ZFabxSWbWovY3uYSQ2pTgmZeNu2VS4cg", oauth_signature="tnnArxj06cWHq44gCs1OSKk%2FjLY%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1318622958", oauth_token="370773112-GmHxMAgYyLbNEtIKZeRNFsMKPR9EyMZeS9weJAEb", oauth_version="1.0"

對於Java,建議您看看Twidere的工作方式

暫無
暫無

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

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