回答編集履歴

1

補足の追記

2018/03/20 02:02

投稿

退会済みユーザー
test CHANGED
@@ -1,4 +1,20 @@
1
1
  サンプルのコードをGASに焼き直す、ということでしたら```doPost(e)```ではなく```UrlFethcApp.fetch({ターゲットURL}, {パラメータオブジェクト})```で```getHeaders()```もしくは```getAllHeaders()```すれば良いと思います。
2
+
3
+
4
+
5
+ [補足(コメントまとめ)]
6
+
7
+ なお、```doPost()```のパラメータオブジェクトに**Header情報を直接取得できるプロパティはない**と思います。
8
+
9
+ (少なくともリファレンスではそのような記述を見つけることはできませんでした)
10
+
11
+ 別途調べたところ、ChatWorkでは類似の問題(doPostでのヘッダー情報取得)への対応をしたばかりです。
12
+
13
+ > そのため先日ChatWork側で、HTTP HeaderだけではなくQueryStringにも署名を追加するように変更を行いました。
14
+
15
+
16
+
17
+ arguments全走査でも当該データが存在しない場合(e以外、arguments[1]~が存在しない、もしくは存在するが当該データが含まれていない)、Asana側がChatWorkと同様の対応をしない限り**「GASのみで構築する」ことは不可**ということになりますね。
2
18
 
3
19
 
4
20
 
@@ -7,3 +23,7 @@
7
23
  - [Class UrlFetchApp](https://developers.google.com/apps-script/reference/url-fetch/url-fetch-app)
8
24
 
9
25
  - [Class HTTPResponse](https://developers.google.com/apps-script/reference/url-fetch/http-response)
26
+
27
+ - [Google Apps Script:Web Apps](https://developers.google.com/apps-script/guides/web)
28
+
29
+ - [Google Apps ScriptでChatWorkのWebhook署名を検証する方法](http://creators-note.chatwork.com/entry/2017/12/20/163128)