<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Chatwork</title>
	<atom:link href="https://javeo.jp/tag/chatwork/feed/" rel="self" type="application/rss+xml" />
	<link>https://javeo.jp</link>
	<description>ほどほどレベルのプログラミング</description>
	<lastBuildDate>Mon, 07 Apr 2025 12:57:05 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://javeo.jp/wp-content/uploads/2025/08/cropped-ExcelPython_future-32x32.jpg</url>
	<title>Chatwork</title>
	<link>https://javeo.jp</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>【Python】ChatworkでAPIを使って自動的にメッセージを送る</title>
		<link>https://javeo.jp/chatwork-notify/</link>
					<comments>https://javeo.jp/chatwork-notify/#respond</comments>
		
		<dc:creator><![CDATA[ジャベ雄]]></dc:creator>
		<pubDate>Sun, 06 Aug 2023 23:00:00 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Chatwork]]></category>
		<guid isPermaLink="false">https://javeo.jp/?p=1303</guid>

					<description><![CDATA[目次 APIの利用に必要なものAPIトークンを取得ルームIDを取得Pythonのプログラム通知結果公式ドキュメントあとがきLINEの通知プログラム APIの利用に必要なもの まず最初にプログラムのなかで必要なパラメータが [&#8230;]]]></description>
										<content:encoded><![CDATA[<div class="codoc-evacuations" style="display:none;" data-shortcode=""></div>
<div class="wp-block-cocoon-blocks-info-box block-box primary-box">
<p>Pythonでバッチを作った時にエラーや処理結果をChatworkに送るプログラムを作る機会があったので備忘的に書き残しています</p>



<p>シンプルな作りかつ公式ドキュメントにあるソースをちょっと弄った程度の簡単プログラムです</p>
</div>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">APIの利用に必要なもの</a></li><li><a href="#toc2" tabindex="0">APIトークンを取得</a></li><li><a href="#toc3" tabindex="0">ルームIDを取得</a></li><li><a href="#toc4" tabindex="0">Pythonのプログラム</a></li><li><a href="#toc5" tabindex="0">通知結果</a></li><li><a href="#toc6" tabindex="0">公式ドキュメント</a></li><li><a href="#toc7" tabindex="0">あとがき</a></li><li><a href="#toc8" tabindex="0">LINEの通知プログラム</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">APIの利用に必要なもの</span></h2>



<p>まず最初にプログラムのなかで必要なパラメータが2つありまして</p>



<ul class="wp-block-list">
<li>APIトークン</li>



<li>ルームID</li>
</ul>



<p>の取得方法をご紹介</p>



<h2 class="wp-block-heading"><span id="toc2">APIトークンを取得</span></h2>



<div class="wp-block-cocoon-blocks-info-box block-box primary-box">
<p>※ここでAPIトークンを取得したアカウントでメッセージを送ることになるので普段使いするアカウントではなく&#8221;通知用アカウント&#8221;を別で作ってトークンを取得することを推奨します</p>
</div>



<p>ログイン後に右上にあるアカウント名をクリックして表示されるメニューの中から&#8221;<span class="marker-under">サービス連携</span>&#8220;をクリック</p>



<figure class="wp-block-image size-large"><a rel="follow noopener noreferrer" target="_blank" href="https://javeo.jp/wp-content/uploads/2023/08/2025-04-07_20h55_57.png"><img fetchpriority="high" decoding="async" width="1024" height="538" src="https://javeo.jp/wp-content/uploads/2023/08/2025-04-07_20h55_57-1024x538.png" alt="" class="wp-image-3067" srcset="https://javeo.jp/wp-content/uploads/2023/08/2025-04-07_20h55_57-1024x538.png 1024w, https://javeo.jp/wp-content/uploads/2023/08/2025-04-07_20h55_57-300x158.png 300w, https://javeo.jp/wp-content/uploads/2023/08/2025-04-07_20h55_57-150x79.png 150w, https://javeo.jp/wp-content/uploads/2023/08/2025-04-07_20h55_57-768x403.png 768w, https://javeo.jp/wp-content/uploads/2023/08/2025-04-07_20h55_57.png 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p>ChatworkのWEBページへ飛ぶので左側のメニューで&#8221;<span class="marker-under">APIトークン</span>&#8220;をクリックするとAPIトークンが表示される画面に遷移するのでコピー</p>



<figure class="wp-block-image size-large"><a rel="follow noopener noreferrer" target="_blank" href="https://javeo.jp/wp-content/uploads/2023/08/2025-04-07_20h56_51-1.png"><img decoding="async" width="1024" height="538" src="https://javeo.jp/wp-content/uploads/2023/08/2025-04-07_20h56_51-1-1024x538.png" alt="" class="wp-image-3069" srcset="https://javeo.jp/wp-content/uploads/2023/08/2025-04-07_20h56_51-1-1024x538.png 1024w, https://javeo.jp/wp-content/uploads/2023/08/2025-04-07_20h56_51-1-300x158.png 300w, https://javeo.jp/wp-content/uploads/2023/08/2025-04-07_20h56_51-1-150x79.png 150w, https://javeo.jp/wp-content/uploads/2023/08/2025-04-07_20h56_51-1-768x403.png 768w, https://javeo.jp/wp-content/uploads/2023/08/2025-04-07_20h56_51-1.png 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<h2 class="wp-block-heading"><span id="toc3">ルームIDを取得</span></h2>



<p>次はメッセージを送りたいルームを指定するために対象のルームIDを取得します</p>



<p>①&#8221;<span class="marker-under">通知対象にするグループチャット</span>&#8220;をクリックしてアクティブにしておく<br>②&#8221;<span class="marker-under">右上の歯車のアイコン</span>&#8220;をクリック<br>③&#8221;<span class="marker-under">グループチャットの設定</span>&#8220;をクリック</p>



<p>の順にメニュー遷移する</p>



<figure class="wp-block-image size-large"><a rel="follow noopener noreferrer" target="_blank" href="https://javeo.jp/wp-content/uploads/2023/08/2025-04-07_21h03_07-1.png"><img decoding="async" width="1024" height="538" src="https://javeo.jp/wp-content/uploads/2023/08/2025-04-07_21h03_07-1-1024x538.png" alt="" class="wp-image-3072" srcset="https://javeo.jp/wp-content/uploads/2023/08/2025-04-07_21h03_07-1-1024x538.png 1024w, https://javeo.jp/wp-content/uploads/2023/08/2025-04-07_21h03_07-1-300x158.png 300w, https://javeo.jp/wp-content/uploads/2023/08/2025-04-07_21h03_07-1-150x79.png 150w, https://javeo.jp/wp-content/uploads/2023/08/2025-04-07_21h03_07-1-768x403.png 768w, https://javeo.jp/wp-content/uploads/2023/08/2025-04-07_21h03_07-1.png 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p>グループチャットの設定画面左下に&#8221;<span class="marker-under">ルームID</span>&#8220;が表示されているので控えておく</p>



<figure class="wp-block-image size-large"><a rel="follow noopener noreferrer" target="_blank" href="https://javeo.jp/wp-content/uploads/2023/08/2025-04-07_21h03_14-1.png"><img decoding="async" width="1024" height="641" src="https://javeo.jp/wp-content/uploads/2023/08/2025-04-07_21h03_14-1-1024x641.png" alt="" class="wp-image-3074" srcset="https://javeo.jp/wp-content/uploads/2023/08/2025-04-07_21h03_14-1-1024x641.png 1024w, https://javeo.jp/wp-content/uploads/2023/08/2025-04-07_21h03_14-1-300x188.png 300w, https://javeo.jp/wp-content/uploads/2023/08/2025-04-07_21h03_14-1-150x94.png 150w, https://javeo.jp/wp-content/uploads/2023/08/2025-04-07_21h03_14-1-768x480.png 768w, https://javeo.jp/wp-content/uploads/2023/08/2025-04-07_21h03_14-1.png 1202w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<h2 class="wp-block-heading"><span id="toc4">Pythonのプログラム</span></h2>



<div class="wp-block-cocoon-blocks-info-box block-box primary-box">
<p>※2025/04/03 APIリクエストの仕様変更反映してます</p>
</div>



<p>肝心のPythonプログラムがこちら</p>



<p>公式ページのソースをちょっと弄っただけですが、bool型にしてステータスコードが200かどうかでTrue・False判定してます</p>



<div class="hcb_wrap"><pre class="prism undefined-numbers lang-plain"><code>import requests

# messageの引数だけでも通知できるように初期値の設定
CHATWORK_TOKEN = &#39;********************************&#39;
CHATWORK_ROOM_ID = &#39;999999999&#39;

def send_to_chatwork(message, chatwork_token=CHATWORK_TOKEN, room_id=CHATWORK_ROOM_ID) -&gt; bool:
    headers = {&quot;X-ChatWorkToken&quot;: chatwork_token}
    url = f&quot;https://api.chatwork.com/v2/rooms/{room_id}/messages&quot;
    payload = {
        &quot;self_unread&quot;: 0,
        &quot;body&quot;: message
    }
    headers = {
        &quot;accept&quot;: &quot;application/json&quot;,
        &quot;content-type&quot;: &quot;application/x-www-form-urlencoded&quot;,
        &quot;x-chatworktoken&quot;: chatwork_token
    }
    response = requests.post(url, data=payload, headers=headers)
    if response.status_code == 200:
        return True
    else:
        return False</code></pre></div>



<div class="wp-block-cocoon-blocks-toggle-box-1 toggle-wrap toggle-box block-box not-nested-style cocoon-block-toggle"><input id="toggle-checkbox-202504072122402" class="toggle-checkbox" type="checkbox"/><label class="toggle-button" for="toggle-checkbox-202504072122402">仕様変更前ソース（2025年7月2日まで）</label><div class="toggle-content">
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-file="chatwork_notifier.py" data-lang="Python"><code>import requests

# messageの引数だけでも通知できるように初期値の設定
CHATWORK_TOKEN = &#39;********************************&#39;
ROOM_ID = &#39;999999999&#39;


def send_to_chatwork(message, token=CHATWORK_TOKEN, room_id=CHATWORK_ROOM_ID) -&gt; bool:
    headers = {&quot;X-ChatWorkToken&quot;: token}
    url = f&quot;https://api.chatwork.com/v2/rooms/{room_id}/messages&quot;
    data = {&quot;body&quot;: message}
    response = requests.post(url, headers=headers, data=data)
    if response.status_code == 200:
        print(&quot;Message sent successfully.&quot;)
        return True
    else:
        print(&quot;Failed to send message.&quot;)
        return False


def main():
    message = &#39;テスト通知&#39;
    send_to_chatwork(message, &#39;5cbc320450032388263d0073b7473a54&#39;, &#39;331928429&#39;)


if __name__ == &quot;__main__&quot;:
    main()
</code></pre></div>
</div></div>



<p>Chatwork上でメッセージを送信した時と同じようにプログラムでメッセージ送信されている</p>



<h2 class="wp-block-heading"><span id="toc5">通知結果</span></h2>



<p>↓のようにAPIトークンを発行したユーザーでメッセージを送ることができます</p>



<figure class="wp-block-image size-large"><a rel="follow noopener noreferrer" target="_blank" href="https://javeo.jp/wp-content/uploads/2023/08/2025-04-07_21h29_02.png"><img decoding="async" width="1024" height="538" src="https://javeo.jp/wp-content/uploads/2023/08/2025-04-07_21h29_02-1024x538.png" alt="" class="wp-image-3077" srcset="https://javeo.jp/wp-content/uploads/2023/08/2025-04-07_21h29_02-1024x538.png 1024w, https://javeo.jp/wp-content/uploads/2023/08/2025-04-07_21h29_02-300x158.png 300w, https://javeo.jp/wp-content/uploads/2023/08/2025-04-07_21h29_02-150x79.png 150w, https://javeo.jp/wp-content/uploads/2023/08/2025-04-07_21h29_02-768x403.png 768w, https://javeo.jp/wp-content/uploads/2023/08/2025-04-07_21h29_02.png 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<h2 class="wp-block-heading"><span id="toc6">公式ドキュメント</span></h2>



<p>公式ドキュメントはいくつかありますが、↓が簡易テストもできてわかりやすいです</p>




<a rel="noopener noreferrer" target="_blank" href="https://developer.chatwork.com/reference/post-rooms-room_id-messages" title="Chatwork APIドキュメント" class="blogcard-wrap external-blogcard-wrap a-wrap cf"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img decoding="async" src="https://files.readme.io/da6a396-OGP.png" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="320" height="198" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">Chatwork APIドキュメント</div><div class="blogcard-snippet external-blogcard-snippet">クラウド型ビジネスチャットツール「Chatwork」における...</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img decoding="async" src="https://www.google.com/s2/favicons?domain=https://developer.chatwork.com/" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">developer.chatwork.com</div></div></div></div></a>



<h2 class="wp-block-heading"><span id="toc7">あとがき</span></h2>



<p>LINEの通知プログラムも作りましたが仕事で使おうと思うとするとChatworkの方が利用シーン多いと思って作ってみました</p>



<p>気が向いたらTeams版も作ろうかと思います</p>



<h2 class="wp-block-heading"><span id="toc8">LINEの通知プログラム</span></h2>



<p><s><span class="red">LINEの通知プログラムはコチラからどうぞ</span></s></p>



<p><span class="red">※LINE Notifyは2025年3月で終了しました</span></p>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a rel="noopener follow noreferrer" target="_blank" href="https://javeo.jp/line-notify" title="404 NOT FOUND – 実務者向けのExcelとPythonとか" class="blogcard-wrap external-blogcard-wrap a-wrap cf"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img decoding="async" src="https://javeo.jp/wp-content/uploads/2022/02/ジャベ雄.png" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="320" height="198" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">404 NOT FOUND – 実務者向けのExcelとPythonとか</div><div class="blogcard-snippet external-blogcard-snippet">ほどほどレベルのプログラミング</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img decoding="async" src="https://www.google.com/s2/favicons?domain=https://javeo.jp/404/" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">javeo.jp</div></div></div></div></a>
</div></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://javeo.jp/chatwork-notify/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
