Я пытался создать приложение, чтобы отправить пользователю полное уведомление о потоке через диалоговое окно. Я перешел по этой ссылке, теперь у меня есть разрешение на обновление (см. Скриншоты 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}.")
Это скриншот симулятора:
Это логи, которые я получил на своем локальном хосте, показывает, что я получил разрешение на отправку уведомления пользователю pu sh.
Я зашел в журнал стека-драйверов, чтобы проверить журналы, вот что я получил: