2016-05-07 3 views
1

Ich bin neu bei gcm Upstream Messaging. Ich versuche, über xmpp (mit C# agsxmpp library) eine Verbindung zu den Cloud-Verbindungsservern herzustellen. Ich bekomme jedoch eine nicht autorisierte Fehlermeldung vom Server und die Verbindung wird sofort geschlossen, obwohl die gleiche Projektnummer/API-Taste für HTTP-Downstream-Push-Benachrichtigungen funktioniert. Jede Hilfe wird geschätzt.Auth Fehler beim Verbinden mit Google Cloud Messaging Cloud-Verbindung Server

Hier ist der Code.

 var username = Configuration.PROJECT_NUMBER + "@" + Configuration.GCM_SERVER; 
     xmpp = new XmppClientConnection 
     { 
      UseSSL = true, 
      UseStartTLS = false, 
      Server = Configuration.GCM_SERVER, 
      ConnectServer = Configuration.GCM_SERVER, 
      Port = Configuration.GCM_PORT, 
      Username = username, 
      Password = Configuration.GCM_API_KEY, 
      AutoResolveConnectServer = true, 
      SocketConnectionType = SocketConnectionType.Direct, 
      AutoAgents = false, 
      KeepAlive = true, 
      AutoRoster = false, 
      AutoPresence = false, 
      UseCompression = false, 
      Show = ShowType.chat 
     }; 

     xmpp.OnReadSocketData += Xmpp_OnReadSocketData; 
     xmpp.OnWriteSocketData += Xmpp_OnWriteSocketData; 
     xmpp.OnLogin += Xmpp_OnLogin; 
     xmpp.OnMessage += Xmpp_OnMessage; 
     xmpp.OnError += Xmpp_OnError; 
     xmpp.OnClose += Xmpp_OnClose; 
     xmpp.OnAuthError += Xmpp_OnAuthError; 

     xmpp.Open(); 

    } 

Und hier ist die Interaktion mit dem ccs (von den Ereignissen OnReadSocketData und OnWriteSocketData erfaßt)

To CCS<<11:59:58 834 
<stream:stream to='gcm.googleapis.com' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0' xml:lang='en'> 

From CSS>> 11:59:59 037 
<stream:stream from="gcm.googleapis.com" id="AF8BBDE576QWEFF3543" version="1.0" xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client">                                                                                               


From CSS>> 11:59:59 101 
<stream:features><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>X-OAUTH2</mechanism><mechanism>X-GOOGLE-TOKEN</mechanism><mechanism>PLAIN</mechanism></mechanisms></stream:features>                                                                                                                                 


To CCS<<11:59:59 115 
<auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="PLAIN">ADIwNjAxOTEwOTA2Mlw0MGjkdf4y67fvbjjdgESnhaa2tFX3hIcm56NXhWZndJclpFUmlMbnBqNVFIdkk=</auth> 


From CSS>> 11:59:59 312 
<failure xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><not-authorized/></failure>ism>X-OAUTH2</mechanism><mechanism>X-GOOGLE-TOKEN</mechanism><mechanism>PLAIN</mechanism></mechanisms></stream:features> 


From CSS>> 11:59:59 314 
</stream:stream>urn:ietf:params:xml:ns:xmpp-sasl"><not-authorized/></failure>ism>X-OAUTH2</mechanism><mechanism>X-GOOGLE-TOKEN</mechanism><mechanism>PLAIN</mechanism></mechanisms></stream:features>     
+0

Sie sagen, Sie sind nur neu mit GCM Upstream Messaging, bin ich richtig zu der Annahme, dass das, was Sie damit implementieren, alles nur zum Ausprobieren ist? Dass du den 'gcm-preprod.googleapis.com: 5236'-Port verwendest, sowas? Ich wollte nur überprüfen, ob 'Configuration.PROJECT_NUMBER' =' '? Prost. –

+0

Diesen [ähnlichen Beitrag] gefunden (http://stackoverflow.com/q/32887244/4625829). Wenige Unterschiede: Sprache für die Umsetzung und gemäß meinem vorherigen Kommentar verwendet er die 'gcm-preprod.googleapis.com'. Ich ging voraus und fragte, ob er in der Lage war herauszufinden, was den Fehler an seinem Ende verursacht hat. Ich weiß nicht, ob es nützlich wäre. Mal schauen. Prost! –

+1

Danke für die Hilfe, ich habe @ als Benutzernamen verwendet, ich habe das auf den Benutzernamen geändert und es funktioniert jetzt. – Yohannes

Antwort

1

ich von <Project_Number>@<GCM_Server_Address> die Benutzername geändert nur <Project_Number> und es funktioniert.

Verwandte Themen