2016-05-07 3 views
1

Я новичок в gcm upstream messaging. Я пытаюсь подключиться к серверам облачных соединений через xmpp (используя библиотеку C# agsxmpp). Тем не менее, я получаю неавторизованное сообщение об ошибке с сервера, и соединение закрывается немедленно, даже если один и тот же номер проекта/ключ api работает для уведомлений push downstream push. Любая помощь приветствуется.Auth Ошибка подключения к облачным серверам соединений облачных сообщений Google

Вот код.

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

    } 

А вот взаимодействие с ЦКС (захваченное из событий OnReadSocketData и OnWriteSocketData)

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

Вы говорите, что только что с помощью GCM Upstream Messaging, правильно ли я предполагаю, что то, что вы реализуете с этим, все просто для того, чтобы попробовать его? Что вы используете порт 'gcm-preprod.googleapis.com: 5236', что-то вроде этого? Просто хотел проверить, есть ли 'Configuration.PROJECT_NUMBER' =' '? Приветствия. –

+0

Нашли это [аналогичное сообщение] (http://stackoverflow.com/q/32887244/4625829). Немного отличий: язык для реализации и согласно моему предыдущему комментарию, он использует 'gcm-preprod.googleapis.com'. Я пошел вперед и спросил, не смог ли он найти причину ошибки на своем конце. Я не знаю, было бы полезно. Посмотрим. Ура! –

+1

Спасибо за помощь, я использовал <номер проекта> @ в качестве имени пользователя, я изменил это только на имя пользователя и теперь работает. – Yohannes

ответ

1

Я изменил имя от <Project_Number>@<GCM_Server_Address> просто <Project_Number>, и она работает.

 Смежные вопросы

  • Нет связанных вопросов^_^