Почтовые данные должны быть байтами.Не может быть типа str - PullRequest
0 голосов
/ 28 декабря 2018

Я пытаюсь отправить push-сообщения на свой телефон с помощью Raspberry pi 3. (Pushetta).Нашли учебник, который использовал> import urllib2 <.Я попытался адаптироваться к Python 3.5. </p>

Ошибка: POST должен быть байтами или итерируемыми байтами.Он не может быть типа ул.

import urllib.request
import json


def sendNotification(token, channel, message):
    data = {
        "body" : message,
        "message_type" : "text/plain"
    }

    req = urllib.request.Request('http://api.pushetta.com/api/pushes/{0}/'.format(channel))
    req.add_header('Content-Type', 'application/json')
    req.add_header('Authorization', 'Token {0}'.format(token))

    response = urllib.request.urlopen(req, json.dumps(data))


sendNotification("aab1bxxxx9c2157be2b168d2d5795f869", "Detector", "Hello!")

print("Message sent!")

Делать проект для школы и не иметь большого опыта.Любая помощь?:)

1 Ответ

0 голосов
/ 28 декабря 2018

Преобразование вашей строки JSON в двоичный файл

json.dumps(data).encode('utf-8')
...