質問編集履歴

1

画像が正しく表示されなかったため、文章を貼り付けました。

2019/09/19 03:31

投稿

ushigaeru
ushigaeru

スコア13

test CHANGED
File without changes
test CHANGED
@@ -22,9 +22,49 @@
22
22
 
23
23
  ```
24
24
 
25
- ![これはgit pushした時のエラー画面です。gitの使用経験がかなり浅いため、こちらもエラー内容を読み取ることができないです。](6771b2ff54534bd35f054f6b02f0080c.png)
25
+ ![これはgit pushした時のエラー画面です。gitの使用経験がかなり浅いため、こちらもエラー内容を読み取ることができないです。]
26
26
 
27
- ![これはheroku logs -tでサーバーの動作確認をしたときのものです。こちらもエラー内容を読み取ることができないです。](da65d015b71b42f2e34f27b8507ad617.png)
27
+ Total 0 (delta 0), reused 0 (delta 0)
28
+
29
+ remote: Compressing source files... done.
30
+
31
+ remote: Building source:
32
+
33
+ remote:
34
+
35
+ remote: ! No default language could be detected for this app.
36
+
37
+ remote: HINT: This occurs when Heroku cannot detect the buildpack to use for this application automatically.
38
+
39
+ remote: See https://devcenter.heroku.com/articles/buildpacks
40
+
41
+ remote:
42
+
43
+ remote: ! Push failed
44
+
45
+ remote: Verifying deploy...
46
+
47
+ remote:
48
+
49
+ remote: ! Push rejected to line-bot-musya.
50
+
51
+ remote:
52
+
53
+ To https://git.heroku.com/line-bot-musya.git
54
+
55
+ ! [remote rejected] master -> master (pre-receive hook declined)
56
+
57
+ error: failed to push some refs to 'https://git.heroku.com/line-bot-musya.git'
58
+
59
+
60
+
61
+
62
+
63
+ ![これはheroku logs -tでサーバーの動作確認をしたときのものです。こちらもエラー内容を読み取ることができないです。]
64
+
65
+ 2019-09-19T02:55:06.251609+00:00 heroku[router]: at=info code=H81 desc="Blank app" method=POST path="/" host=line-bot-musya.herokuapp.com request_id=a9a2a622-cefe-4116-9458-575129f6f968 fwd="203.104.156.76" dyno= connect= service= status=502 bytes= protocol=https
66
+
67
+
28
68
 
29
69
 
30
70
 
@@ -38,9 +78,101 @@
38
78
 
39
79
  ```python
40
80
 
41
- ![urls.pyというファイル名で使っています。](963c02a51d373f5e7022edcc17770a39.png)
81
+ ![urls.pyというファイル名で使っています。]
42
82
 
83
+ from django.urls import path
84
+
85
+ from . import views
86
+
87
+
88
+
89
+ urlpatterns = [
90
+
91
+ path('callback', views.callback)
92
+
93
+ ]
94
+
95
+
96
+
97
+
98
+
43
- ![views.pyというファイル名で使っています。](3740d3315b9623770ac5671142b8e73d.png)
99
+ ![views.pyというファイル名で使っています。]
100
+
101
+ from linebot import LineBotApi, WebhookHandler
102
+
103
+
104
+
105
+ #各クライアントライブラリのインスタンス作成
106
+
107
+ line_bot_api = LineBotApi(channel_access_token=)
108
+
109
+ handler = WebhookHandler(channel_secret=)
110
+
111
+
112
+
113
+ from django.http import HttpResponseForbidden, HttpResponse
114
+
115
+ from linebot.exceptions import InvalidSignatureError
116
+
117
+
118
+
119
+ def callback(request):
120
+
121
+ #リクエストヘッダーから署名検証のための値を取得
122
+
123
+ signature = request.META['HTTP_X_LINE_SIGNATURE']
124
+
125
+ #リクエストボディを取得
126
+
127
+ body = request.body.decode('utf-8')
128
+
129
+ try:
130
+
131
+ #署名を検証し、問題なければhandleに定義されている関数を呼び出す
132
+
133
+ handler.handle(body, signature)
134
+
135
+ except InvalidSignatureError:
136
+
137
+ #署名検証で失敗した時は例外をあげる
138
+
139
+ HttpResponseForbidden()
140
+
141
+ #handleの処理を終えればOK
142
+
143
+ return HttpResponse('OK', status=200)
144
+
145
+
146
+
147
+ #linebot.modelsから処理したいイベントをimport
148
+
149
+ from linebot.models import (
150
+
151
+ FollowEvent, TextSendMessage
152
+
153
+ )
154
+
155
+
156
+
157
+ #addメソッドの引数にはイベントのモデルを入れる
158
+
159
+ #関数名は自由
160
+
161
+ @handler.add(FollowEvent)
162
+
163
+ def handle_follow(event):
164
+
165
+ line_bot_api.reply_message(
166
+
167
+ event.reply_token,
168
+
169
+ TextSendMessage(text='初めまして')
170
+
171
+ )
172
+
173
+
174
+
175
+
44
176
 
45
177
  ```
46
178