2016-07-26 37 views
0

Ich versuche PubNub Präsenz in meiner App zu verwenden, und ich bekomme einen wiederholenden verbotenen Fehler. Ich habe die Berechtigungen im PubNub Admin Portal aktiviert.PubNub Presence 403 Forbidden Fehler wiederholen

Hier ist mein Abonnement-Code:

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); 

Das ist mein userConnected Rückruf:

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

    }; 

    this.pubnub.here_now(hereNowSettings); 
}; 

ich eine sich wiederholende Fehler erhalten, die

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)

sagt 10

Ich verstehe nicht, warum ich diesen Fehler bekomme. Kann das jemand erklären?

UPDATE:

habe ich einen geheimen Schlüssel und gewähren meiner pubnub config:

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); 
} 

Aber jetzt erhalte ich einen Fehler, der

sagt Geheimnis fehlt Schlüssel

Antwort

1

PubNub Access Manager & Erteilen von Berechtigungen

Wenn Sie Access Manager aktiviert haben, muss Ihr Server die Berechtigung für read auf dem Kanal und dem Anwesenheitskanal erteilen, wenn Sie (mit Anwesenheit) auf diesem Kanal abonnieren.

Sie sagte:

Berechtigungen aktiviert im PubNub Admin Portal

... aber nicht aktivieren (Zuschuss) Berechtigungen im Admin-Portal, können Sie die Berechtigung in Code gewähren mit der geheimer Schlüssel.

Siehe die folgenden Links für wie Access Manager verwenden, um Berechtigungen zu erteilen:

+0

Ich habe meine Frage mit dem neuen Code aktualisiert. Gibt es irgendeine Möglichkeit, wie Sie mir bei diesem Problem helfen könnten? Soweit ich das beurteilen kann, verwende ich es richtig. –

+1

Egal, ich habe alles herausgefunden. Danke für deine Antwort, es war sehr hilfreich. –

+0

Stellen Sie sicher, dass Sie nur den geheimen Schlüssel in Ihrem sicheren Server verwenden, niemals in Ihren clientseitigen Apps. –

0

Achten Sie darauf, auch die Leseberechtigung auf dem Vorhandensein Kanal gewährt haben.

z. Wenn der Kanal my_channel ist, erteilen Sie auch dem Anwesenheitskanal my_channel-pnpres Leserechte.

Weitere verfügbare Informationen here