2016-07-26 28 views
0

私のアプリでPubNubのプレゼンスを使用しようとしていますが、繰り返し禁じられたエラーが発生しています。 PubNub Admin Portalで権限を有効にしています。ここでPubNub Presence Repeating 403 Forbidden Error

は私のサブスクリプションコードです:

var initSettings: pubnub.IInitSettings = { 
    publish_key: "myPubKey", 
    subscribe_key: "mySubKey", 
    uuid: "myUUID", 
    auth_key: "myAuthKey" 
}; 

this.pubnub = PUBNUB(initSettings); 
console.log(this.pubnub); 

var subscribeSettings: pubnub.ISubscribeSettings = { 
    channel: "chat", 
    presence: this.userConnected, 
    message: this.processMessage 
}; 

this.pubnub.subscribe(subscribeSettings); 

これは私のuserConnectedコールバックです:

userConnected = (m: any) => { 
    var hereNowSettings: pubnub.IHereNowSettings = { 
     channel: this.channelString, 
     callback: (message: any) => { 
      this.channelCount++; 
     } 

    }; 

    this.pubnub.here_now(hereNowSettings); 
}; 

私は

pubnub-3.7.14.js:2644 GET http://ps17.pubnub.com/subscribe/mySubKey/chat%2Cchat-pnpres/0/0?uuid=myUUID&pnsdk=PubNub-JS-Web%2F3.7.14 403 (Forbidden)

を言う繰り返しエラーが出ます10

なぜこのエラーが発生するのか分かりません。誰もこれを説明できますか?

UPDATE:

私は秘密鍵を追加し、私のpubnubの設定に付与します。

createPubNubConnections() { 
    let initSettings: pubnub.IInitSettings = { 
     publish_key: publishKey, 
     subscribe_key: subscribeKey, 
     uuid: uuid, 
     auth_key: authKey, 
     secret_key: secretKey 
    }; 

    this.pubnub = PUBNUB(initSettings); 
    console.log(this.pubnub); 

    let subscribeSettings: pubnub.ISubscribeSettings = { 
     channel: "chat", 
     presence: this.userConnected, 
     message: this.processMessage 
    }; 

    this.pubnub.subscribe(subscribeSettings); 

    let grantSettings: pubnub.IGrantSettings = { 
     read: true, 
     callback: (message: any) => { console.log(message); } 
    }; 

    this.pubnub.grant(grantSettings); 
} 

しかし、今私は秘密がありません

をというエラーを取得していますキー

答えて

1

PubNub Access Managerの&の付与権限

あなたはAccess Managerが使用すると、そのチャンネルに(存在し)サブスクライブしようとしている場合は、あなたのサーバは、チャネルとプレゼンスチャンネル上readに権限を付与する必要があります有効にしている場合

あなたは言った:

権限がPubNub管理ポータル

で有効になって...しかし、あなたが管理ポータルで(グラント)の権限を有効にしないでください、あなたが使用してコードにアクセス権を付与します秘密鍵。

+0

新しいコードで質問を更新しました。あなたがこの問題で私を助けてくれる方法はありますか?私が知る限り、正しく使用しています。 –

+1

私はすべてを考え出しませんでした。あなたの答えをありがとう、それは非常に有用だった。 –

+0

セキュリティ保護されたサーバーでのみ秘密鍵を使用し、クライアント側のアプリケーションでは使用しないでください。 –

0

はあなたが付与されていることを確認してくださいまた、プレゼンスチャネル上の権限をお読みください。

は、権限を付与するためのAccess Managerの使用方法については、以下のリンクを参照してください。

など。チャネルがmy_channelの場合は、my_channel-pnpresプレゼンスチャネルにも読み取りアクセス権を与えます。

詳細情報here