前提・実現したいこと
LINE WORKSを会社に導入が決定しました。
それに伴い今までLINEで行っていた周知的なものを
LINE WORKSのホームを利用していこうとなりました。
今まで、LINEへの通知などをGoogle Apps Script(以下、GAS)から
LINE Messaging APIを利用して行っていましたので
GASで試みようとしたところ、WEB上に参考文献も少なく
立ち行かなくなってしまいましたのでご教示願いたく投稿させていただきました。
発生している問題・エラーメッセージ
【LINE WORKS Developers[投稿作成]】
https://developers.worksmobile.com/jp/document/100180301?lang=ja
【GoogleAppsScript で LINEWORKS のチャット BOT を作る】
https://qiita.com/kunihiros/items/a94221ad7c9f4de84cf8
JWTの認証は上記を参考にさせていただきトークン発行までは無事できましたが、
以下の部分をどうUrlFetchAppで記述すればよいかがわかりませんでした。
HTTP Method
POST(Content-Type: multipart/form-data; boundary="$boundary”; charset=UTF-8)
GAS
1var res = UrlFetchApp.fetch(uri, { 2 'method' : 'post', 3 'headers' : { 4 'Content-Type' : 'multipart/form-data; boundary="$boundary”', 5 'consumerKey' : ---Server API Consumer Key---, 6 'Authorization' : 'Bearer ' + token, 7 }, 8 'payload': { 9 "domainId": domainId, //ドメインID 10 "boardNo": bordNo, // 掲示板の管理番号 11 "title": "タイトル", 12 "body": "内容", 13 "useComment": false, 14 "accountId": 'accountId',// LINEWORKS アカウントID 15 "memberName": null, 16 "department": null, 17 }, 18 muteHttpExceptions: true 19 });
わからないなりに上記のようなコードで実行してみると以下エラーが出て
必要なリクエストパーツ「article」が存在しませんと怒られました。
{"error":"Bad Request","message":"Invalid parameter","devMessage":"Required request part 'article' is not present","status":400,"domain":"home","code":"SERVICE_UNAVAILABLE"}
GASを使ってBacklog APIを叩く
https://teratail.com/questions/131775
GASとmultipart/form-dataという2点の共通点だけで参照しながら
Utilities.newBlobを用いて見様見真似でやってみましたが下記エラーがでてやはりだめでした
var requestBody = '--"$boundary”\r\n' + 'Content-Disposition: form-data; name="article"' + "\r\n\n" + '{' + '\r\n' + '"domainId": "' + domainId + '",' + '\r\n' + '"boardNo": "' + bordNo + '",' + '\r\n' + '"title" : "タイトル",' + '\r\n' + '"body" : "内容",' + '\r\n' + '"useComment" :' + false + ',' + '\r\n' + '"accountId" :' + 'accountId' + ',' + '\r\n' + '"memberName" :' + null + ',' + '\r\n' + '"department" :' + null + ',' + '\r\n' + '}' {"message":"Unknown error","domain":"common","code":"INTERNAL_SERVER_ERROR"}
LIEN WORKSに関するjavascriptの情報が少ないのと
私自身がAPIをきちんと理解できておらず勉強不足という点は否めないのですが
Content-Type: multipart/form-data; boundary="$boundary”の場合は
どのようにUrlFetchへ引き渡せばよいのかご教示いただきたいです。
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。