2013-01-14 81 views
0

我想在這裏遵循指示:Android應用程序的認證ID

Verifying Back-End Calls from Android Apps

我擴大對我在這裏問的問題是:

identifying which android app is making contact with my appengine app

所有進展順利我測試環境。我有一個應用程序在eclipse中使用的debug.keystore,我甚至從我對GoogleAuthUtil.getToken()的調用中收到了令牌。然後,我將我的代碼複製到將用於其中的實際項目中。我獲得了密鑰存儲庫(我已經保存了以前在Google Play上發佈的密鑰庫),並使用它在Google API控制檯上創建新的客戶端ID。

然後我使用eclipse導出我的項目,但使用正確的密鑰庫和關聯的ID後,我沒有獲取令牌。

同時我一直在嘗試不同的事情。我有一個ID,我爲我的應用程序引擎應用程序。我在android應用程序中使用了它,並且我得到了一個令牌。我不知道天氣與否,當我在我的應用程序引擎網站上檢查它時(我懷疑沒有),我會得到一個令牌。

我有點假設我應該使用我的Android調用GoogleAuthUtil.getToken()的ID應該來自'已安裝應用程序的客戶端ID'部分(Google API頁面) 。這不是嗎?只有在那裏你可以將應用程序類型設置爲「Android」並且包名稱與你的應用程序相匹配......對吧?

+0

我想我會簡單地嘗試一下這個工作的令牌。 –

回答

1

我假設你正在使用的格式指定CLIENT_ID:

觀衆:服務器:CLIENT_ID:$ CLIENT_ID

這CLIENT_ID,如上述格式試圖暗示,是爲您的家庭服務器,在這種情況下AppEngine應用程序的client_id(一個Web應用程序client_id)。如果您正確配置AppEngine應用程序,它應該在AppEngine中很好地驗證。

同樣,您的Android應用程序會要求輸入令牌並命名您的AppEngine應用程序。您不需要在請求中命名您的Android應用的client_id,因爲Android平臺可以根據您使用密鑰存儲工具計算出的包名稱和證書哈希來識別您的應用。

+0

謝謝!我認爲這是答案 - 它似乎對我有用。 –