2012-07-04 30 views
1

我也跟着在http://developer.android.com/guide/google/gcm/gs.html給出的步驟和每一次我嘗試從我的設備註冊(上升級Froyo上運行)的Android GCM樣品給註冊:http錯誤400

07-04 22:48:31.178: D/C2DMRegistrar(3880): [C2DMRegistrar.66] register: http error 400

對於我提示以下錯誤:senderId,我已經嘗試使用projectID(按谷歌),電子郵件ID和API密鑰,但沒有工作。

我有Android市場,並在設備上的谷歌帳戶登錄。

+0

這很奇怪。儘管文檔說SENDER_ID是項目ID,但它現在可以與項目ID一起使用,但是可以使用電子郵件ID。 –

+0

如果使用電子郵件地址註冊,則可能是因爲您已將該電子郵件地址用作C2DM開發者帳戶。新的GCM使用項目ID(數字字符串)代替。如果您使用電子郵件地址進行註冊,您仍然需要通過C2DM。 – azgolfer

+0

我從控制檯創建了另一個密鑰。現在我可以使用project_ID進行註冊,但現在在從服務器發送消息時,它給出了[errorCode = MismatchSenderId]。任何想法 ? –

回答

6

響應400:僅適用於JSON請求。指示請求不能被解析爲JSON,或者它包含無效字段(例如,傳遞一個字符串,其中數字是預期的)。答案中描述了確切的失敗原因,並且在重新提出請求之前應解決問題。

您可以參考this document瞭解來自請求的所有可用響應。

+0

嗨Dipali。感謝您的回覆,這是我能夠解決的一些其他錯誤。現在,當從服務器發送消息時,我收到錯誤:[errorCode = MismatchSenderId]。任何指針幫助? –

+0

@AmolGupta,您需要在客戶端代碼中使用您註冊到'gcm servers'的電子郵件地址(您在http post中用於發送郵件的那個)設置sender_id – Dipali

+0

以及對此問題的評論表明,如果我把emailId,我真的會去C2DM的方式,而不是GCM –