質問編集履歴

7

更新

2019/10/29 00:11

投稿

Chandler_Bing
Chandler_Bing

スコア673

test CHANGED
File without changes
test CHANGED
@@ -283,3 +283,33 @@
283
283
  レスポンスは400(Bad request)になっています。
284
284
 
285
285
  見た感じだと、APIリファレンスの要求に沿っている気がするのですが、どこかおかしいい箇所がありますでしょうか。
286
+
287
+
288
+
289
+ ちなにみに以下が現在成功している、マルチメッセージのFiddlerの結果です。比べても大きな違いはない気がします。
290
+
291
+ また、マルチメッセージはテンプレートの既存メソッドを指定しています。
292
+
293
+
294
+
295
+ ```ここに言語を入力
296
+
297
+ POST https://api.line.me/v2/bot/message/multicast HTTP/1.1
298
+
299
+ Authorization: Bearer my token
300
+
301
+ Content-Type: application/json; charset=utf-8
302
+
303
+ Host: api.line.me
304
+
305
+ Content-Length: 143
306
+
307
+ Expect: 100-continue
308
+
309
+ Connection: Keep-Alive
310
+
311
+
312
+
313
+ {"to":["ID1","ID2"],"messages":[{"type":"text","text":"マルチメッセージ"}]}
314
+
315
+ ```

6

更新

2019/10/29 00:11

投稿

Chandler_Bing
Chandler_Bing

スコア673

test CHANGED
File without changes
test CHANGED
@@ -249,3 +249,37 @@
249
249
  await client.SendAsync(request);
250
250
 
251
251
  ```
252
+
253
+
254
+
255
+ 追記④
256
+
257
+ 現在POSTでブロードキャストメッセージを送ると以下のようにFiddlerに表示されます。
258
+
259
+ ```ここに言語を入力
260
+
261
+ POST https://api.line.me/v2/bot/message/broadcast HTTP/1.1
262
+
263
+ Authorization: Bearer my token
264
+
265
+ Content-Type: application/json; charset=utf-8
266
+
267
+ Host: api.line.me
268
+
269
+ Content-Length: 52
270
+
271
+ Expect: 100-continue
272
+
273
+ Connection: Keep-Alive
274
+
275
+
276
+
277
+ {"messages":{"type":"text","text":"test test test"}}
278
+
279
+ ```
280
+
281
+
282
+
283
+ レスポンスは400(Bad request)になっています。
284
+
285
+ 見た感じだと、APIリファレンスの要求に沿っている気がするのですが、どこかおかしいい箇所がありますでしょうか。

5

更新

2019/10/28 23:34

投稿

Chandler_Bing
Chandler_Bing

スコア673

test CHANGED
File without changes
test CHANGED
@@ -169,3 +169,83 @@
169
169
  値も指定通りになっている気がします。
170
170
 
171
171
  特にサーバーエラー等は出ていません。
172
+
173
+
174
+
175
+ 追記⓷
176
+
177
+ 現在、ローカルホストを外部に公開するためにngrokを使用しています。そこでは200Okのレスポンスが返ってきます。
178
+
179
+ が、fiddlerではエラーになっているようです。
180
+
181
+ 以下がその画面と、現在のコードです。
182
+
183
+ ![イメージ説明](5acf9948e2eb6689d5ef14f13ff76da9.png)
184
+
185
+
186
+
187
+ ```現在のコード
188
+
189
+ // To creat HttpClient
190
+
191
+ var client = new HttpClient();
192
+
193
+
194
+
195
+ // Accesstoken
196
+
197
+ var accessToken = "token=";
198
+
199
+
200
+
201
+ // URL
202
+
203
+ var url = "https://api.line.me/v2/bot/message/broadcast";
204
+
205
+
206
+
207
+ // POST
208
+
209
+ var request = new HttpRequestMessage(HttpMethod.Post, url);
210
+
211
+
212
+
213
+ // Request Header
214
+
215
+ request.Headers.Add("Authorization", "Bearer " + accessToken);
216
+
217
+
218
+
219
+ var str1 = new Dictionary<string, string>();
220
+
221
+ str1.Add("type", "text");
222
+
223
+ str1.Add("text", "test test test");
224
+
225
+
226
+
227
+ var str2 = new Dictionary<string, Dictionary<string, string>>();
228
+
229
+ str2.Add("messages", str1);
230
+
231
+
232
+
233
+ var json = JsonConvert.SerializeObject(str2);
234
+
235
+
236
+
237
+ request.Content = new StringContent(
238
+
239
+ json.ToString(),
240
+
241
+ Encoding.UTF8,
242
+
243
+ "application/json"
244
+
245
+ );
246
+
247
+
248
+
249
+ await client.SendAsync(request);
250
+
251
+ ```

4

更新

2019/10/28 08:45

投稿

Chandler_Bing
Chandler_Bing

スコア673

test CHANGED
File without changes
test CHANGED
@@ -114,7 +114,7 @@
114
114
 
115
115
  // Accesstoken
116
116
 
117
- var accessToken = "XXXX";
117
+ var accessToken = "token";
118
118
 
119
119
 
120
120
 

3

更新

2019/10/28 02:10

投稿

Chandler_Bing
Chandler_Bing

スコア673

test CHANGED
File without changes
test CHANGED
@@ -97,3 +97,75 @@
97
97
  }
98
98
 
99
99
  ```
100
+
101
+
102
+
103
+ 追記⓶
104
+
105
+ 現在のコードは以下です。ボディとヘッダーを同時に設定できました。
106
+
107
+ ```C#
108
+
109
+ // To creat HttpClient
110
+
111
+ var client = new HttpClient();
112
+
113
+
114
+
115
+ // Accesstoken
116
+
117
+ var accessToken = "XXXX";
118
+
119
+
120
+
121
+ // URL
122
+
123
+ var url = "https://api.line.me/v2/bot/message/broadcast";
124
+
125
+
126
+
127
+
128
+
129
+ var request = new HttpRequestMessage(HttpMethod.Post, url);
130
+
131
+ // Request Header
132
+
133
+ request.Headers.Add("Authorization", "Bearer " + accessToken);
134
+
135
+ var parameters = new Dictionary<string, string>()
136
+
137
+ {
138
+
139
+ { "messages", "Hello World" },
140
+
141
+ };
142
+
143
+
144
+
145
+ request.Content = new StringContent(
146
+
147
+ parameters.ToString(),
148
+
149
+ Encoding.UTF8,
150
+
151
+ "application/json"
152
+
153
+ );
154
+
155
+
156
+
157
+ await client.SendAsync(request);//ここでデバックで停止
158
+
159
+ ```
160
+
161
+
162
+
163
+ デバック結果
164
+
165
+ ![イメージ説明](a9298d00b78930b2d35317add26b5d17.png)
166
+
167
+
168
+
169
+ 値も指定通りになっている気がします。
170
+
171
+ 特にサーバーエラー等は出ていません。

2

更新

2019/10/28 02:03

投稿

Chandler_Bing
Chandler_Bing

スコア673

test CHANGED
File without changes
test CHANGED
@@ -69,3 +69,31 @@
69
69
  リクエストヘッダーをそのまま、リクエストボディに適用した形です。
70
70
 
71
71
  これだとよろしくないのでしょうか。
72
+
73
+
74
+
75
+ 追記⓵
76
+
77
+ リクエストヘッダーとボディを分けるところは完成しましたが、どのようにして
78
+
79
+ ヘッダーにAuthorizationを設定すればよいでしょうか。現在のコードは以下です。
80
+
81
+
82
+
83
+ ```C#
84
+
85
+ var json = @"{""type"":""text"", ""text"":Hello World}";
86
+
87
+ var content = new StringContent(json, Encoding.UTF8, @"application/json");
88
+
89
+
90
+
91
+ using (var client = new HttpClient())
92
+
93
+ {
94
+
95
+ var response = await client.PostAsync($"http://foo.example.com", content);
96
+
97
+ }
98
+
99
+ ```

1

更新

2019/10/28 01:10

投稿

Chandler_Bing
Chandler_Bing

スコア673

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,4 @@
1
- 実現したいことは以下のサイトのマルチキャストメッセージを送るの部分です。
1
+ 実現したいことは以下のサイトのブロードキャストメッセージを送るの部分です。
2
2
 
3
3
  [Messaging APIリファレンス](https://developers.line.biz/ja/reference/messaging-api/#send-multicast-message)
4
4