2016-11-23 1 views
-1

que je suis https://abhaykashyap.com/blog/post/tutorial-how-build-facebook-messenger-bot-using-django-ngrok à develeop un code bot.My est la suivante:Impossible d'obtenir la clé de hub.verify_token dans self.request.GET en vue personnalisée, tout en développant un bot pour messenger fb

MyFirstChatBot/fb_MyFirstChatBot/views.py

JSON à l'importation, les demandes, au hasard, re

de pprint import pprint

de django.utils.datastructures importer MultiValueDictKeyError

de django.views importer générique

de HttpResponse import django.http.response

d'importation django.views.decorators.csrf csrf_exempt

de django.utils.decorators importer method_decorator

------------------------ Remplissez ceci avec votre jeton d'accès à la page! -------------------------------

VERIFY_TOKEN = "2318934571"

fonction d'aide

Créez vos vues ici.

classe MyFirstChatBotView (generic.View):

def get(self, request, *args, **kwargs): 

    if self.request.GET['hub.verify_token'] == VERIFY_TOKEN: 
     return HttpResponse(self.request.GET['hub.challenge']) 
    else: 
     return HttpResponse('Error, invalid token') 

@method_decorator(csrf_exempt) 
def dispatch(self, request, *args, **kwargs): 
    return generic.View.dispatch(self, request, *args, **kwargs) 

MyFirstChatBot/fb_MyFirstChatBot/urls.py

de django.conf.urls importations comporte, url

de .views importer MyFirstChatBotView et les modèles d'URL comme suit: urlpatterns = [ url (r '^ 66d2b8f4a09cd35cb23076a1da5d51529136a3373fd570b122 /? $', MyFirstChatBotView.as_view()) ]

Mais je reçois MultiValueDictKeyError comme suit: MultiValueDictKeyError à/fb_MyFirstChatBot/66d2b8f4a09cd35cb23076a1da5d51529136a3373fd570b122/ " 'hub.verify_token'" demande Méthode: GET URL de demande:

http://127.0.0.1:8000/fb_MyFirstChatBot/66d2b8f4a09cd35cb23076a1da5d51529136a3373fd570b122/?HelloWorld

Django Version: 1.10.3

Type d'exception: MultiValueDictKeyError

Exception Valeur:
" 'hub.verify_token'" Exception Localisation: C: \ Python27 \ lib \ site-packages \ django \ utils \ datastructures.py dans getitem, ligne 85

Python Executable :
C: \ Python27 \ python.exe Version Python: 2.7.10

S'il vous plaît me aider avec this.Thanks à l'avance

Répondre

-1

aller à settings.py sous votre dossier d'application et ALLOWED_HOST pour définir l'adresse du serveur local NGROK. Je pense que cela va fonctionner.

'ALLOWED_HOSTS = [ 
'909912c1c.ngrok.io',]' 
-1

L'exception actuelle montre que la hub.verify_token variable que vous attendez de la demande est pas là. Vous pouvez soit l'envelopper dans un bloc try-except, soit utiliser self.request.GET.get('hub.verify_token', <some_default_value>). Etes-vous sûr que la variable hub.verify_token est orthographiée correctement? Parce qu'il ne vient pas avec la demande