簡體   English   中英

使用松弛的API發布圖像

[英]Posting an image with slack API

我試圖用松弛的API發布圖像。 我目前有兩個API打開(使用python),這是rtm和slackbot。

sc = SlackClient(API_KEY)
sc.api_call('chat.postMessages', channel=, text=) #post as bot

sc.rtm_connect():
sc.rtm_send_message(channel=..., message=...) #post as desired user

這些示例可以很好地將文本發布到頻道,但我需要將圖像發布到頻道。

我想使用rtm_ *方法發布圖像,但我無法弄清楚如何。 我在圖片中看到的唯一參考是https://api.slack.com/docs/attachments,但我沒有看到使用rtm API的方法。

任何幫助表示贊賞。 TIA。

更新/編輯

所以我嘗試使用Jon推薦的方法,這是:

sc.api_call("chat.postMessage", channel='D0K7P9MCJ', text='postMessage test',
            attachments='[{"image_url":"http://i.ytimg.com/vi/tntOCGkgt98/maxresdefault.jpg"}]')

但這似乎不起作用(沒有發布圖像)並且不會拋出任何錯誤。

我通過在附件部分中包含標題來實現此目的。 希望它拋出一個錯誤,= /

正如問題中的更新中所提到的,為了使其工作,必須包含帶附件的標題。

image_url = "http://i.ytimg.com/vi/tntOCGkgt98/maxresdefault.jpg"
attachments = [{"title": "Cat", "image_url": image_url}]
sc.api_call("chat.postMessage", channel='D0K7P9MCJ', text='postMessage test',
            attachments=attachments)

您將不得不使用postMessage選項 - 您無法使用RTM(來自https://api.slack.com/rtm )執行此操作:

RTM API僅支持發布使用我們的默認消息格式化模式格式化的簡單消息。 它不支持附件或其他郵件格式化模式。 要發布更復雜的消息,用戶客戶端可以調用chat.postMessage Web API方法,並將as_user設置為true。

暫無
暫無

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

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