我想使用終端發送訊息。
我嘗試過類似的事情:
curl -u 'TwitterUsername':'TwitterPassword' -d status=”Your Message Here” https://twitter.com/statuses/update.xml
但似乎這不再起作用了。
我收到這樣的錯誤:
<?xml version="1.0" encoding="UTF-8"?>
<errors>
<error code="53">Basic authentication is not supported</error>
</errors>
那麼,我們該如何從終端機發送推文呢?
PS.:我這樣做的動機是因為我經常使用 Yakuake 終端,從那裡發推文會很棒。
答案1
這個錯誤訊息是因為Twitter 需要 OAuth 進行身份驗證。看一眼打字機如果你不介意 Perl 應用程式:
不,不是另一個 Twitter 用戶端!是的,另一個 Twitter 用戶端。這裡的區別在於您正在處理一個多功能、完全 100% 文字的 Perl 命令列用戶端。
- 在交互模式下,它是一個完全互動的客戶端,具有非同步後台更新和命令。透過 telnet、ssh 甚至虛擬終端使用它。支援串流 API、ANSI 顏色、UTF-8、主題標籤和 Twitter 搜尋!
- 在您最喜歡的環境中工作:使用相容的 readline 庫(例如我們自己定制的 Term::ReadLine::TTYtter),或修改許多流行視窗和會話管理器的提示和輸入方法。或不這樣做:內建基本編輯和螢幕管理功能。
- 從命令列,使用它在 shell 腳本、cron 等中更新您的 Twitter。
- 安全性:支援 Twitter OAuth 和 HTTP 基本驗證,以及用戶代理支援的 SSL。
- Growl 和 libnotify 的通知支援(並可透過 API 擴展到其他人)。
- 地理定位支援:將您的 GPS 座標交給 TTYtter 以用於任何應用程式。
- 清單支持,包括快速建立和修改,以及將清單與您的時間軸合併為「自訂時間軸」。
- 支援類似 Twitter 的 API,例如 StatusNet 和 Identi.ca。
- 支援標準時間軸並自動取得直接訊息,並可選擇回覆/提及,並針對搜尋 API 執行查詢並將它們合併到您的時間軸中。
- 新舊轉發支援。
- 編寫並使用您自己的自訂擴充功能!
- 在 -daemon 模式下獨立運行,並製作您自己的 Twitter 機器人!
TTYtter 已被棄用。現在分叉中的開發仍在繼續,牡蠣島。
答案2
答案3
2016年更新
有一個項目叫特沃爾- 適用於 Twitter API 的支援 OAuth 的curl:
Twurl 與curl 類似,但專為Twitter API 量身打造。它知道如何向指定使用者的客戶端應用程式授予存取令牌,然後使用該存取令牌簽署所有請求。
它還提供其他開發和調試便利,例如為常見請求定義別名,以及支援多個存取權杖以在不同客戶端應用程式和 Twitter 帳戶之間輕鬆切換。
而不是問題中的這個:
curl -d status="Your Message Here" https://twitter.com/statuses/update.xml
你使用這樣的東西:
twurl -d status="Your Message Here" /1.1/statuses/update.json
在您先按照中的說明授權自己之後自述文件。
(請注意,您不必像使用curl 那樣在URL 中使用協定和主機名稱)
這個程式最初是由當時在 Twitter 工作的 Marcel Molina 編寫的,現在是官方 Twitter 項目在 GitHub 上。
許多人都在具體詢問如何使用curl 來使用Twitter API,而twurl 可能是您目前可以獲得的最接近curl 的方法。
答案4
看一眼彩虹溪流- 聰明/美麗,用Python編寫。它提供了一個 Rainbow shell,可以透過以下方式啟動
$ rainbowstream
在應用程式內部,更新狀態非常容易
[@yourTwitterName]: t tweeting from #rainbowstream