2013-06-24 42 views
8

我試圖實現谷歌播放服務下列谷歌的文檔,我看到下面當我嘗試連接我的GameClient谷歌播放服務和「沒有與此客戶端ID相關聯的關聯應用」

E/Volley: [4953] il.a: Unexpected response code 401 for https://www.googleapis.com/games/v1/players/me 
E/Volley: [4953] il.a: Unexpected response code 401 for https://www.googleapis.com/games/v1/players/me 
E/SignInIntentService: There is no linked app associated with this client ID. 

我已經檢查過,簽名APK的證書的SHA1指紋,調試證書的SHA1以及提供給Google API的SHA1確實匹配,並且他們這樣做。我已經檢查過,應用程序ID是在應用程序項目清單中聲明的​​(我在我的案例中採用了13位數字編號,而不是一個也包含了一個包)。我還檢查了我使用的測試帳戶在開發者控制檯中各自列出了它們;它們也都是@ gmail.com,它們包含我的開發人員地址。他們已經啓動了Google Plus。

我已經從API 16 S3設備和API 17 Google API模擬器中試過。應用程序的包名稱在開發人員控制檯的清單中正確聲明,並與API包名稱匹配。該應用程序被列爲遊戲服務的客戶端,並顯示爲「可供測試」。

總之我很努力去看看我的錯誤是什麼以及我錯過了什麼。我想我也擁有Google解決問題的所有方面。我已經在StackOverflow上看到了主要問題,並且已經介紹了它們。不管是什麼,我想念的都可能讓我充滿了臉。我可以錯過什麼?

回答

4

我被困在這個問題很長一段時間,直到我意識到我的應用程序中有兩個名爲「app_id」的字符串。一個來自Facebook SDK,另一個來自Google。我將Google app_id重命名(並更改了相應的清單參考),一切都很順利。

您有類似的問題是可能的。如果你看不到錯誤,那麼我會嘗試將app_id寫入syslog以確認這不是問題的原因。順便說一下,我所有的Google app_id(客戶端ID)都是12個字節而不是13,所以也許你應該先檢查一下。

祝您好運!

+0

謝謝伊恩。我不能接受你的回答,因爲這不是我的問題,但我很高興投票,因爲它是恰當的 - 因爲它正好將一個現有項目從使用Facebook轉移到Google Plus,但我有已經刪除了對Facebook應用ID的引用。你的建議很可能會幫助很多降落在這裏的人。我即將發佈我的問題似乎已經發生了,但我不打算接受我的答案,或者希望這個問題成爲所有問題。 – SK9

+0

在我的情況下,我重新創建了我的調試密鑰,並且我的問題似乎自行消失。我有點撓頭了。 – SK9

+0

這很好 - 只是想幫助! – IanB

2

即使重做一切後,的一切,我仍然遇到同樣的問題。不過,我後來在Google API上遇到了「此包已在使用中」錯誤消息,即使我已刪除所有項目並刪除所有客戶端,然後再次刪除它們。

事實證明這是一個祝福:解決方案是在新的客戶端ID中添加新的指紋到Google API之前重新創建我的調試密鑰。

而且......我最初的問題消失了。

1

您沒有明確聲明您正在測試的Gmail帳戶是作爲Google Plus用戶添加到配置爲您的應用的測試社區的Google Plus社區中的 - 或者您使用的是谷歌組作爲測試社區,而這些Gmail賬戶是該社區的一部分。

如果你做了這些事情,那麼它可能會被這裏的問題指出:

https://code.google.com/p/google-plus-platform/issues/detail?id=554

這個答案聽起來鼓舞人心的解決你的問題,但沒有得到你的希望。我已經完成了原始海報的所有工作,再加上上面的內容,但我仍然陷入困境。

我甚至都遵循這裏所說的提示:

Google Play Game Services - unable to sign in

而且它會出現,谷歌可以讓你落入關於GPS的鴻溝的深度遠遠超過我的深處更深已經探測過。喜悅。

+1

好的,我終於解決了我的特殊問題。關鍵是在另一個SO發佈,我將在這裏總結。您的Oauth2客戶端不能從Google API控制檯創建,它必須從Google Play界面創建。 1.如果您手動創建,請在Google API控制檯中刪除您的OAuth2客戶端。 2.在Google Play界面的鏈接應用程序下重新添加您的遊戲服務客戶端。如果您已經發布,只需添加另一個。您可以驗證它是否在Google API控制檯中創建了您的Oauth2客戶端,然後如果這些都是錯誤的,那麼您的測試人員/應用程序應該可以工作。 – user1214836

+0

謝謝,那是爲我做的。 – nmw

0

我有同樣的問題,我不知道,下面的行動是解決了這個問題,但它值得嘗試的一個,

好像我沒有已經啓用了驅動器API,我有它的啓用apis,但我不得不點擊其旁邊的齒輪圖標,然後單擊啓用並提供應用程序名稱。

2

我討厭同樣的問題,對我來說它工作重新鏈接應用程序在Game services -> Linked apps -> Link another app

+0

爲我工作,謝謝 – Yaman

0

你有客戶端ID的只是鏈接相同的包多次在您的開發者控制檯「調試&發佈客戶端ID的」

的事情是,如果你用錯誤的SHA1指紋鏈接您的應用程序的遊戲服務,遊戲服務將挑選它並將其作爲主客戶端ID。

一旦你重新連結相同的應用程序到你的遊戲服務,它會自動拿起其他客戶端ID的

0

你需要確保,你發佈的谷歌播放服務設置,在此之前它不會是能夠找到該應用程序帳戶鏈接。

0

我有完全相同的問題,在我的情況下,我修復了從Google API控制檯重新生成API密鑰的問題。轉到憑證,選擇您的API密鑰,然後單擊「重新生成密鑰」。您不需要更新代碼中的任何內容或鏈接更多應用程序,只需重新生成即可開始工作。

enter image description here

相關問題