2013-03-07 57 views
4

驗證谷歌雲端點端點App Engine的後端,到底如何做我設置究竟是如何設置的clientId和觀衆爲Android應用

@Api(name=... 
    clientIds = {what-goes-here-exactly-1}, 
    audiences = {what-goes-here-exactly-2} 
) 

,並在Android客戶端,到底如何做我設置

credential = GoogleAccountCredential.usingAudience(this, 
      what-goes-here-exactly-3); 

有衝突的/混亂/不清楚這裏我已經生成大量的密鑰在我的APIç說明http://devthots.blogspot.com/這裏https://developers.google.com/appengine/docs/java/endpoints/consume_android#making-authenticated-calls

鞋墊的API訪問,但不知道如何使用它們,並附加/前置它們以用於上述語句。

謝謝。

回答

6

在你的後臺,你將包括:

@Api(
    name = "myapi", 
    version = "v1", 
    clientIds = {Ids.WEB_CLIENT_ID, Ids.ANDROID_CLIENT_ID}, 
    audiences = {Ids.ANDROID_AUDIENCE} 
) 

如果這些常量的定義是這樣的:

public class Ids { 
    public static final String WEB_CLIENT_ID = "12345.apps.googleusercontent.com"; 
    public static final String ANDROID_CLIENT_ID = "12345-abc.apps.googleusercontent.com"; 
    public static final String ANDROID_AUDIENCE = WEB_CLIENT_ID; 
} 

使用上述數值,你會在你的Android代碼中使用的代碼是:

credential = GoogleAccountCredential.usingAudience(this, 
    "server:client_id:" + Ids.ANDROID_AUDIENCE); 
+0

謝謝丹。取而代之的是,在你的回答中可能會更清楚地說出憑證= GoogleAccountCredential.usingAudience(這個「server:client_id:」+ Ids.WEB_CLIENT_ID)。你能更新嗎?我認爲這解決了我的問題,但我仍然有點困難讓它在本地開發服務器模式下工作,然後我會接受答案。 – aez 2013-03-08 14:44:38

+0

爲了讓它更易於理解,它實際上是ANDROID_AUDIENCE,它們恰好相當。 – 2013-03-08 18:10:35

+0

哎呀,你是對的,謝謝。 – aez 2013-03-08 23:59:11