teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

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

2019/09/19 03:31

投稿

ushigaeru
ushigaeru

スコア13

title CHANGED
File without changes
body CHANGED
@@ -10,16 +10,82 @@
10
10
  ### 発生している問題・エラーメッセージ
11
11
 
12
12
  ```
13
- ![これはgit pushした時のエラー画面です。gitの使用経験がかなり浅いため、こちらもエラー内容を読み取ることができないです。](6771b2ff54534bd35f054f6b02f0080c.png)
13
+ ![これはgit pushした時のエラー画面です。gitの使用経験がかなり浅いため、こちらもエラー内容を読み取ることができないです。]
14
+ Total 0 (delta 0), reused 0 (delta 0)
15
+ remote: Compressing source files... done.
16
+ remote: Building source:
17
+ remote:
18
+ remote: ! No default language could be detected for this app.
19
+ remote: HINT: This occurs when Heroku cannot detect the buildpack to use for this application automatically.
20
+ remote: See https://devcenter.heroku.com/articles/buildpacks
21
+ remote:
22
+ remote: ! Push failed
23
+ remote: Verifying deploy...
24
+ remote:
25
+ remote: ! Push rejected to line-bot-musya.
26
+ remote:
27
+ To https://git.heroku.com/line-bot-musya.git
28
+ ! [remote rejected] master -> master (pre-receive hook declined)
14
- ![これはheroku logs -tでサーバーの動作確認をしたときのものです。こちらもエラー内容を読み取ることができないです。](da65d015b71b42f2e34f27b8507ad617.png)
29
+ error: failed to push some refs to 'https://git.heroku.com/line-bot-musya.git'
15
30
 
31
+
32
+ ![これはheroku logs -tでサーバーの動作確認をしたときのものです。こちらもエラー内容を読み取ることができないです。]
33
+ 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
34
+
35
+
16
36
  ```
17
37
 
18
38
  ### 該当のソースコード
19
39
 
20
40
  ```python
21
- ![urls.pyというファイル名で使っています。](963c02a51d373f5e7022edcc17770a39.png)
41
+ ![urls.pyというファイル名で使っています。]
42
+ from django.urls import path
43
+ from . import views
44
+
45
+ urlpatterns = [
46
+ path('callback', views.callback)
47
+ ]
48
+
49
+
22
- ![views.pyというファイル名で使っています。](3740d3315b9623770ac5671142b8e73d.png)
50
+ ![views.pyというファイル名で使っています。]
51
+ from linebot import LineBotApi, WebhookHandler
52
+
53
+ #各クライアントライブラリのインスタンス作成
54
+ line_bot_api = LineBotApi(channel_access_token=)
55
+ handler = WebhookHandler(channel_secret=)
56
+
57
+ from django.http import HttpResponseForbidden, HttpResponse
58
+ from linebot.exceptions import InvalidSignatureError
59
+
60
+ def callback(request):
61
+ #リクエストヘッダーから署名検証のための値を取得
62
+ signature = request.META['HTTP_X_LINE_SIGNATURE']
63
+ #リクエストボディを取得
64
+ body = request.body.decode('utf-8')
65
+ try:
66
+ #署名を検証し、問題なければhandleに定義されている関数を呼び出す
67
+ handler.handle(body, signature)
68
+ except InvalidSignatureError:
69
+ #署名検証で失敗した時は例外をあげる
70
+ HttpResponseForbidden()
71
+ #handleの処理を終えればOK
72
+ return HttpResponse('OK', status=200)
73
+
74
+ #linebot.modelsから処理したいイベントをimport
75
+ from linebot.models import (
76
+ FollowEvent, TextSendMessage
77
+ )
78
+
79
+ #addメソッドの引数にはイベントのモデルを入れる
80
+ #関数名は自由
81
+ @handler.add(FollowEvent)
82
+ def handle_follow(event):
83
+ line_bot_api.reply_message(
84
+ event.reply_token,
85
+ TextSendMessage(text='初めまして')
86
+ )
87
+
88
+
23
89
  ```
24
90
 
25
91
  ### 試したこと