LINE WORKS API エンドポイントにあたるAPI_IDがわからなくて困っています
Q&A
Closed
解決したいこと
LINE WORKS API
を使って、既存のBot
から簡単なメッセージを自分のID
に受信できるようにしたいのですが、エンドポイントにあたるAPI_ID
というのが、LINE WORKS
のデベロッパーコンソールのどの情報がAPI_ID
なのかわかりません。わかる方がいたら教えてください。
発生している問題・エラー
url = f'https://apis.worksmobile.com/r/{api_id}/message/send'
例)下記のpython
のエンドポイントの「YOUR_API_ID
」どうしてもわからない。LINE WORKS Developers コンソール
を見てもどこに書いてあるのかわからない。
import requests
import json
# 生成したトークン
token = '◎◎◎'
# APIエンドポイント
api_id = 'YOUR_API_ID' # 自分のAPI IDに置き換えてください
url = f'https://apis.worksmobile.com/r/{api_id}/message/send'
# ヘッダー
headers = {
'Authorization': f'Bearer {token}',
'Content-Type': 'application/json'
}
# メッセージ送信のペイロード
payload = {
"botNo": 12345, # Bot番号に置き換えてください
"accountId": "recipient_account_id", # 受信者のアカウントIDに置き換えてください
"content": {
"type": "text",
"text": "Hello, this is a test message!"
}
}
# リクエストの送信
response = requests.post(url, headers=headers, data=json.dumps(payload))
# レスポンスの表示
print(response.status_code)
print(response.json())
自分で試したこと
下記のコードでトークンを生成しました。
from jose import jwt
import datetime
# 秘密鍵のパスを設定
SECRET_KEY = r'C:\Users\◎◎◎\Desktop\pythondesu\private_◎◎◎.key'
client_id = '◎◎◎'
service_account_id = '◎◎◎'
# 秘密鍵を読み込む
with open(SECRET_KEY, 'r') as f:
private_key = f.read()
# 現在のタイムスタンプをUTCタイムゾーンで取得
current_time = int(datetime.datetime.now(datetime.timezone.utc).timestamp())
# JWTのペイロードを設定
payload = {
'iss': client_id,
'sub': service_account_id,
'iat': current_time,
'exp': current_time + 3600 # 有効期限を1時間後に設定
}
# JWTトークンを生成
token = jwt.encode(payload, private_key, algorithm='RS256')
# 生成したトークンを表示
print(f'Generated Token: {token}')