У меня есть автономное приложение для двух частей python: издатель и подписчик.Подписаться испускает Запретную ошибку
Издатель генерирует поддельные объекты устройств JSON и публикует их на канале под названием «устройства». И, как вы могли догадаться, абонент подписывается на канал «устройства».
(Помимо дополнительных аргументов командной строки, издатель или подписчик могут записывать объекты JSON в сокет или локальный каталог, где контекст Apache Spark Streaming захватывает объекты JSON и обрабатывает его. Пока что это не в изображение, так как это необязательно.)
Однако моя проблема заключается в том, что мой абонент работает, после того, как издатель закончил, я получаю сообщение «ERROR: Forbidden».
Вот соответствующие питон фрагменты кода для издателя:
pubnub = Pubnub(publish_key="my_key", subscribe_key="my_key")
....
pubnub.publish(ch, device_msg)
В файле подписчик питона У меня есть следующий код инициализации:
def receive(message, channel):
json.dumps(message)
def on_error(message):
print ("ERROR: " + str(message))
....
pubnub = Pubnub(publish_key="my_keys", subscribe_key="my_keys")
# subscribe to a channel and invoke the appropriate callback when a message arrives on that
# channel
#
pubnub.subscribe(channels=ch, callback=receive, error=on_error)
pubnub.start()
В то время как издатель, при запуске, кажется, публиковать сообщения JSON, все 120 в цикле, в то время как абонент при запуске, кажется, терпит неудачу со следующим сообщением об ошибке:
ERROR: Forbidden
Мои попытки использовать «демонстрационные» ключи не имеют значения. Обратите внимание, что я использую пробную учетную запись для PubNub.
Поскольку это одно из моих первых приложений, использующих его API, кто-нибудь видел эту проблему раньше. Конечно, что-то очень очевидное или тривиальное здесь.
У вас есть Access Manager включен на ваших ключах в вашем PubNub acocunt? Если это так, прочитайте примечание к этому надстройку: * ПРИМЕЧАНИЕ. После включения диспетчера доступа вам необходимо предоставить разрешения перед отправкой данных. * Сообщите мне, если это была проблема. –
Здравствуйте, Craig, Боясь AM, я отключил его и использовал только «демонстрационные» клавиши для sub/pub, но я получаю Forbidden errors. Я включил AM, после чего я предоставил мне ([email protected]) для своего приложения DevicesApp для «бесплатных» ключей. Ошибка «Добавить» не удалась с «Не удалось добавить этого пользователя». –
Я не следую тому, что вы здесь говорите. демо-ключи не имеют диспетчера доступа, и вы не должны использовать их за все время запуска тестового запуска. На ваших ключах просто отключите диспетчер доступа и поработайте с ним. Любые дальнейшие проблемы, отправьте под-ключ, ошибки, журналы, код на [email protected], и мы обработаем там и опубликуем ответ здесь. –