从React Native

时间:2018-04-07 00:33:19

标签: react-native real-time pusher http-status-code-401 pusher-js

我正在尝试从React Native订阅Pusher频道,但是,我收到401错误。

我已经读过它可能是服务器时间设置错误,但确保它是正确的。使用Laravel Echo以及我在世博会上测试它时,连接完美无缺。

我唯一与之略有不同的是我的时区是欧洲/伦敦,目前比UTC早一个小时。当我去Pusher调试控制台时,所有时间都是UTC。

如果有人有任何想法,这是我的代码:

PusherInit(){
    Pusher.logToConsole = true;
    let chat = 'private-chat.' + this.state.chat_id;
    var pusher = new Pusher('...........', {
      authEndpoint: 'https://snippie.co.uk/api/pusher-auth',
        auth: {
            headers: {
                'Accept': 'application/json',
                'Authorization': this.state.token
            }
        },
      cluster: 'eu',
      encrypted: true
    });

    const channel = pusher.subscribe(chat);

    channel.bind('Message_Received',
        function(data) {
            console.log(data);
        }
    );

    channel.bind('pusher:subscription_error', function(status) {
        console.log (status);
        if(status == 408 || status == 503){
          // retry?
        }
      });
  }

1 个答案:

答案 0 :(得分:0)

尝试将标题更改为:

headers: {
    'Accept': 'application/json',
    'Authorization': 'Bearer ' + this.state.token
}

pusher.config.auth.headers.authorization = 'Bearer ' + this.state.token;