Отправьте уведомление pu sh через Dialogflow в python для приложения Google Actions - PullRequest
3 голосов
/ 15 января 2020

Я пытался создать приложение, чтобы отправить пользователю полное уведомление о потоке через диалоговое окно. Я перешел по этой ссылке, теперь у меня есть разрешение на обновление (см. Скриншоты 1 и 2 внизу очереди). Я следовал за потоком стека поток , чтобы написать этот фрагмент кода python для отправки уведомления, я могу его запустить и получил код состояния 200, но я никогда не получал тестовое уведомление на моем GoogleHomeApp / Google спикер. Вы можете помочь?

import io
import json

import requests
from google.oauth2 import service_account
import google.auth.transport.requests

PATH_TO_SERVICE_ACCOUNT = 'account.json'

REQUIRED_SCOPE = 'https://www.googleapis.com/auth/actions.fulfillment.conversation'

# Get access token
with io.open(PATH_TO_SERVICE_ACCOUNT, 'r', encoding='utf-8') as json_fi:
    credentials_info = json.load(json_fi)
credentials = service_account.Credentials.from_service_account_info(
    credentials_info, scopes=[REQUIRED_SCOPE])
request = google.auth.transport.requests.Request()
credentials.refresh(request)

headers = {
    'Authorization': 'Bearer ' + credentials.token
}

text = 'Hello, this is a test notification'
user_id = "ABwppHFyNFT1fqDRmEug_k2ZKu43hM7xbLmgShN_ESww0iwPLQh-BU6n4T-e3rUOiVqRBWNn5q6bOg"

payload = {
    'customPushMessage': {
        'userNotification': {
            'title': 'Recent News',
            'text': text,
        },
        'target': {
            'userId': user_id,
            'intent': 'Recent News',
            # Expects a IETF BCP-47 language code (i.e. en-US)
            'locale': 'en-US'
        }
    }
}

r = requests.request("POST", 'https://actions.googleapis.com/v2/conversations:send', data=json.dumps(payload), headers=headers)

print(f"A push notification has been sent to user {user_id} with status code {r.status_code}.")

Это скриншот симулятора: screenshot of simulator

Это логи, которые я получил на своем локальном хосте, показывает, что я получил разрешение на отправку уведомления пользователю pu sh. screenshot of fullfuilment

Я зашел в журнал стека-драйверов, чтобы проверить журналы, вот что я получил:

stackdriver logging

1 Ответ

1 голос
/ 18 января 2020

Если вы go в Официальная документация Pu sh Уведомления , вы найдете заметку, которая указывает, что на данный момент pu sh уведомления не поддерживаются на голосовых динамиках .

enter image description here

Скоро они могут выпустить обновление, но мы никогда не узнаем! Вы можете обратиться в службу поддержки по поводу обновлений.

...