状态:400;消息:已验证令牌,但对应用<app_id> </app_id>无效

时间:2014-11-03 17:21:57

标签: python django pusher

我正在使用Python(Django)构建一个应用程序,并尝试触发另一个应用程序接收的事件,由Pusher代理。

尝试触发事件时,我收到以下错误:

状态:400;消息:令牌已验证,但对应用无效

我用来测试连接和事件触发器的代码如下:

import pusher
p = pusher.Pusher(app_id=settings.PUSHER_APP_ID, key=settings.PUSHER_API_KEY, secret=settings.PUSHER_SECRET)
p['a_channel'].trigger('an_event', {'some': 'data'})

我已经验证了我传递给Pusher构造函数的所有凭据参数都是正确的,甚至直接在调用中使用它们,但没有快乐。

在Django应用程序和命令行脚本中都会发生这种情况,结果完全相同。

任何人都知道问题可能是什么?

1 个答案:

答案 0 :(得分:1)

只是为别人详细说明。当我的circleci构建无法使用相同的值时,我发现了这个问题。

如果使用的是config.yml文件,则app_id被视为整数。由于某些原因,这会使推送程序身份验证机制感到困惑。您必须将ID括在引号中,例如:

docker:
  image: ...
  environment:
    PUSHER_APP_ID: "12345"

不正确版本相反:

docker:
  image: ...
  environment:
    PUSHER_APP_ID: 12345

其他值不受此影响,因为它们包含字母,这些字母迫使YAML解析器将值视为字符串。