LoginSignup
1
1

More than 3 years have passed since last update.

在席確認ツールirucaのAPIをVB.Netから叩いて在席状態を更新する

Last updated at Posted at 2020-06-03

投稿の経緯

VB.Net→API(GET)のサンプルはネット上にたくさんあるのに、
VB.Net→API(PUT)のサンプルはなかなか見つからない!
やっと見つけてもC#のサンプルで、そのままだとうまく動かなかったり・・・
APIを叩くのは初めてで苦労したので、最終的に動いたものを投稿します。

VB.Net→iruca-API(PUT)

呼び出し側
  Call メンバー情報を更新する("11111","離席"'11111は在席状態を更新したい人のMEMBER-ID
メンバー情報を更新する
    Public Sub メンバー情報を更新する(メンバーID As String, 在席状態 As String)

        'ルームコード設定
        Dim ルームコード As String = "aa1111a1-1111-11aa-1a1a-a1111a111a11" 'irucaのROOM-CODEを入力

        '定義
        Dim ターゲットURL As String = "https://iruca.co/api/rooms/" & ルームコード & _ 
                                     "/members/" & メンバーID
        Dim PUTする文字列 As String = "{""status"":""" & 在席状態 & """}" 
                    '「"」で囲われた中の範囲は、2個重ねることで「"」を無理矢理使用OK
        Dim bytes As Byte() = Encoding.UTF8.GetBytes(PUTする文字列)
        Dim request As HttpWebRequest = CType(WebRequest.Create(ターゲットURL), HttpWebRequest)

        '通信の種類を設定
        request.Method = "PUT"
        request.ContentType = "application/json" 'irucaのapiとのやりとりはjson
        request.Accept = "application/json"

        '書き込み
        Dim stream As Stream = request.GetRequestStream
        stream.Write(bytes, 0, bytes.Length)
        stream.Close()

        '応答
        Dim response As HttpWebResponse = CType(request.GetResponse, HttpWebResponse)
                                                                   'ここで書込みが完了
        Dim reader As StreamReader = New StreamReader(response.GetResponseStream)
        response.Close()
        reader.Close()
    End Sub

PUTが通る条件をFiddler(フリーソフト)で試行錯誤

文字コードやBodyの文字列の条件をFiddlerで確認
条件を入れてからExcuteボタンを押して、結果のところに赤が出なければOK!
サーバに送る前にエンコードが必要なの?といった疑念を解消できてスッキリできます。

fiddler.gif

メンバー情報更新API

HTTPメソッド パラメータ https://iruca.co/api/rooms/ROOM-CODE/members/MEMBER-ID 
PUT name 名前(省略可能。省略時は更新されません)    
status ステータス(必須。在席、離席など)     
message ひとこと(省略可能。省略時は更新されません) 

リンク

ログイン不要の在席管理ツール:iruca
iruca API ドキュメント

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1