★悩み★
・Rubyで画像ファイルをTeamsに送信するプログラムを作りたい。
・そもそもRubyで画像ファイルをTeamsにアップロードってできるの?
・Rubyで画像ファイルをTeamsにアップロード(送信)する場合の注意点は?
こういった「悩み」に答えます。
★本記事の内容★
➀ 準備:Teamsのチャネルのコネクタを設定(Incoming WebhookのURL作成)
➁ Rubyで画像ファイルをTeamsにアップロード(送信)する手順
③ Rubyで画像ファイルをTeamsにアップロード(送信)する場合の注意点
これからご紹介する「Rubyで画像ファイルをTeamsにアップロード(送信)する手順」を実践したことで、筆者は30分以内で「Teamsに画像ファイルをアップロード(送信)するRubyプログラム」を作成できました。
記事の前半では「プログラムを作成する前に実施するべき必要な準備」を紹介します。
記事の後半では「Rubyで画像ファイルをTeamsにアップロード(送信)するプログラムの作成手順と注意点」を紹介します。
この記事を読み終えることで、「Rubyを使ってTeamsに画像ファイルをアップロード(送信)できる」状態になります。
準備:Teamsのチャネルのコネクタを設定(Incoming WebhookのURL作成)
「準備:Teamsのチャネルのコネクタを設定(Incoming WebhookのURL作成)」に関してご紹介します。
★準備:Teamsのチャネルのコネクタ(Incoming WebhookのURL)を設定★
手順1:Teamsにログイン
手順2:Teamsのチャネルのコネクタ(Incoming WebhookのURL)を設定
上記の流れで、「準備:Teamsのチャネルのコネクタを設定(Incoming WebhookのURL作成)」ができます。
上記の各手順は、以下の日時で動作確認済みです。
動作確認済み日時:2022年10月24日
以降で、上記「準備:Teamsのチャネルのコネクタ(Incoming WebhookのURL)を設定」の各手順に関してご説明します。
手順1:Teamsにログイン
「手順1:Teamsにログイン」に関してご説明します。
Incoming WebhookのURLを作成するために、Teamsへのログインが必要です。
「Teamsにログインする手順」に関しては、以下の記事をご覧ください。
>> 【5分で実現!】PythonでTeamsにメッセージを通知(送信)する手順
以上で、「手順1:Teamsにログイン」は完了です。
手順2:Teamsのチャネルのコネクタ(Incoming WebhookのURL)を設定
「手順2:Teamsのチャネルのコネクタ(Incoming WebhookのURL)を設定」に関して説明します。
RubyからTeamsに画像ファイルをアップロード(送信)するには、Teamsのチャネルのコネクタ(Incoming WebhookのURL)の設定が必要です。
Teamsのチャネルのコネクタ(Incoming WebhookのURL)を設定する手順に関しては、以下の記事をご覧ください。
>> 【5分で実現!】PythonでTeamsにメッセージを通知(送信)する手順
以上で、「手順2:Teamsのチャネルのコネクタ(Incoming WebhookのURL)を設定」は完了です。
上記の流れで、「Rubyで画像ファイルをTeamsにアップロード(送信)するための準備」ができました。
Rubyで画像ファイルをTeamsにアップロード(送信)する手順
「Rubyで画像ファイルをTeamsにアップロード(送信)する手順」に関してご紹介します。
★Rubyで画像ファイルをTeamsにアップロード(送信)するまでの流れ★
手順1: Rubyのインストール
手順2: Rubyで画像ファイルをTeamsにアップロードするプログラムを作成
手順3: Rubyで画像ファイルをTeamsにアップロードするプログラムを実行
上記の流れで、「Rubyを使って画像ファイルをTeamsにアップロード(送信)」できます。
上記の各手順は、以下の環境と日時で動作確認済みです。
動作確認済み環境:Ubuntu 20.04.3 LTS
動作確認済み日時:2022年10月24日
以降で、上記「Rubyで画像ファイルをTeamsにアップロード(送信)するまでの流れ」の各手順に関してご説明します。
手順1:Rubyのインストール
「手順1:Rubyのインストール」に関してご説明します。
Teamsにメッセージを送信(投稿)するプログラムを実装するために、Rubyをインストールしましょう。
以下の記事を参考にし、お使いのパソコンやサーバーにRubyをインストールしましょう。
>> 【5分でわかる】Windowsに最新版Rubyをインストールする方法
>> 【Linux向け】Rubyを3ステップでインストールする方法
>> 【Ubuntu向け】rbenvでRubyをインストールする手順【簡単】
既にRubyをインストールされている方は、本手順を省略してください。
以上で、「手順1:Rubyのインストール」は完了です。
手順2:Rubyで画像ファイルをTeamsにアップロードするプログラムを作成
「手順2:Rubyで画像ファイルをTeamsにアップロードするプログラムを作成」に関して説明します。
「Teamsに画像ファイルをアップロード(送信)する」Rubyプログラムを作成しましょう。
Rubyで「画像ファイルをTeamsにアップロード(送信)する」プログラムは、以下となります。プログラム中の「適宜変更」と書いてある部分は、自分用に書き換えてください。
require 'net/http'
require 'uri'
require "json"
require 'base64'
url_str = "XXXX" # 作成したIncoming WebhookのURLを指定(適宜変更)
bomary_data = File.read("test.png") # 投稿したい画像を指定
uri = URI.parse(url_str)
request = Net::HTTP::Post.new(uri)
request.content_type = "application/json"
request.body = {text: "kakedashi-xx.comでIT技術を学ぼう.<br>![](data:image/jpg;base64," + Base64.strict_encode64(binary_data) + ")"}.to_json
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
puts "Ruby経由でTeamsにメッセージを送信(投稿)しました。"
上記のプログラムを「upload-image-teams.rb」というファイル名で保存しましょう。
以上で、「手順2:Rubyで画像ファイルをTeamsにアップロードするプログラムを作成」は完了です。
手順3: Rubyで画像ファイルをTeamsにアップロードするプログラムを実行
「手順3: Rubyで画像ファイルをTeamsにアップロードするプログラムを実行」に関して説明します。
手順3で作成した「画像ファイルをTeamsにアップロード(送信)するRubyのプログラム」の動作確認をしましょう。
以下のコマンドを実行し、手順2で作成した「画像ファイルをTeamsにアップロード(送信)するRubyのプログラム」の動作を確認しましょう。
# ruby upload-image-teams.rb
Ruby経由でTeamsにメッセージを送信(投稿)しました。
上記のように「Ruby経由でTeamsに画像(写真)ファイルをアップロード(送信)しました。」が表示された場合、「Rubyで画像ファイルをTeamsにアップロード(送信)できた」と判断できます。
以上で、「手順3: Rubyで画像ファイルをTeamsにアップロードするプログラムを実行」は完了です。
上記の手順で、Rubyで画像ファイルをTeamsにアップロード(送信)できました。
Rubyで画像ファイルをTeamsにアップロード(送信)する場合の注意点
「Rubyで画像ファイルをTeamsにアップロード(送信)する場合の注意点」に関してご紹介します。
画像ファイルのサイズに注意する必要があります。
詳しくは、以下の記事「画像ファイルをTeamsにアップロード(送信)する場合の注意点」をご覧ください。
>> Pythonで画像ファイルをTeamsにアップロード(送信)する手順
【まとめ】Rubyで画像ファイルをTeamsにアップロード(送信)する手順
いかがでしたでしょうか?
Rubyの標準ライブラリを使い、「画像ファイルをTeamsにアップロード(送信)する」手順と注意点を解説し、以下の悩みを解決しました。
★悩み★
・Rubyで画像ファイルをTeamsに送信するプログラムを作りたい。
・そもそもRubyで画像ファイルをTeamsにアップロードってできるの?
・Rubyで画像ファイルをTeamsにアップロード(送信)する場合の注意点は?
Rubyで画像ファイルをTeamsにアップロード(送信)したい場合、標準ライブラリの利用を検討してみてください。
コメント