写真を投稿するために、Telegram Bot APIにファイルを送信します。私は Google App Engine で python を使用しています。URL から画像をダウンロードし、ディスク上に中間ファイルを作成せずに、Telegram メッセージで送信したいと考えています (これはプラットフォームでは不可能だと思います)。
ディスクから取得した画像は送信できましたが、URL から取得した画像は送信できません。作業コードは次のとおりです。
import urllib2
import requests
photo = open('cat.jpg', 'r')
#photo = urllib2.urlopen('http://scontent-b.cdninstagram.com/hphotos-xfa1/t51.2885-15/e15/10919672_584633251672188_179950734_n.jpg')
resp = requests.post(BASE_URL + 'sendPhoto',
files={'photo' : photo},
data={'chat_id' : '95297807'},
)
urlopen で写真を取得しても機能しません。StringIO を使用してみましたが、どちらも機能しません。何か案は?