Vb.netでチャットワークAPIを使いメッセージを送信してみました。


2017年8月現在、チャットワークには予約送信機能がありません。
予約送信(予約投稿)を実現するためには、チャットワークAPIを使用すれば良さそうです。

チャットワークAPIのドキュメントはこちらです。

APIの利用申請はワンクリックで完了します。

10分程度で、「【チャットワーク】チャットワークAPI(プレビュー版)ご利用開始のお知らせ」というタイトルのメールがきました。

まずは、APIキーを取得します。
チャットワークにログインし、右上の自分のアイコンをクリックし、動作設定を開き、API発行タブを選択します。
そして、パスワードを入力し、表示をクリックします。

APIキーの取得ができました。

VB.netでテストアプリを作ってみました。

こんな画面です。

Formにrtxtメッセージ、btnメッセージ送信、lblMessageIDを貼り付けました。

btnメッセージ送信をクリックした時のコードです。

 

    Dim sURL As String  
    Dim objWC As System.Net.WebClient  
    Dim sEndpoint As String  
    Dim sPath As String  
    Dim sAPIKey As String = "\[APIキー\]"  
    Dim sRoomID As String = "\[RoomID\]"  
    Dim byRes As Byte()  
    Dim txtRes As String  
    'エンドポイント  
    sEndpoint = "https://api.chatwork.com/v2"  
    'ここでRoomIDを指定します。  
    'チャットを選択した時のURLの最後の数字がRoomIDです。  
    'https://www.chatwork.com/#!rid\[RoomID\]  
    sPath = "/rooms/" & sRoomID & "/messages"  
    sURL = sEndpoint & sPath  
    Dim objPostData As New System.Collections.Specialized.NameValueCollection  
    '送信するメッセージです。  
    objPostData.Add("body", rtxtメッセージ.Text)  
    objWC = New System.Net.WebClient()  
    objWC.Headers.Add("X-ChatWorkToken", sAPIKey)  
    byRes = objWC.UploadValues(sURL, objPostData)  
    txtRes = System.Text.Encoding.UTF8.GetString(byRes)  
    '送信成功すると、JSON形式でMessageIDが返ってきます。  
    '{"message\_id": "\[MessageID\]"}  
    lblMessageID.Text = txtRes  

メッセージを入力してbtnメッセージ送信をクリックしました。

メッセージ送信成功すると、メッセージIDが返ってきます。

チャットワークにログインして確認したら、メッセージが届いていました。

現在、eBayの注文データや自作ツールのエラーメッセージをdocomoメールに送信しています。

docomoメールにからSlackに移行たかったのですが、Slackの使い方覚える前に、チャットワークの送信方法がわかってしまいました。

メールアプリよりも、チャットアプリの方が、画面を見るのが楽なので、色々試してみて、どのツールに移行するか検討します。