2012-07-02 37 views
28

我试图为使用OAUTH 2.0作为登录名来检索用户配置文件的android应用创建测试客户机ID。我按照步骤完成了在Google控制台上创建的客户端ID,但我没有看到客户端的任何秘密。我正在努力帮助我的雇主获取其应用程序的Google凭据。我知道如何在android中实现OAuth 2.0,但我需要客户端秘密来与代码交换代码。Google API控制台 - 缺少客户机密钥

首先,我从“服务”选项卡中选择了“Google+ API”。 然后按照屏幕上的步骤从API访问选项卡。 enter image description here

+0

我创建了一个新的服务帐户,下载了一个新的JSON,之后一切正常。 – MingalevME

回答

22

看来谷歌最终放弃了unnecessary client_secret for installable applications,并且还没有与他们的文档保持同步。 您应该检查在初始OAuth请求like it's handled on Facebook中是否已获得access_token

另一种可能性是回落到使用Simple API Access key

更新:

第一种方法似乎没有与谷歌合作。

为Android推荐的方法是使用AccountManager烘焙而不是你自己的请求。请按照this example查看这是如何实现的以及如何使用简单API访问密钥获取AuthToken。您可以使用Tasks API来包含OAuth2 API库来检索userinfo,而不是使用Tasks API。

+0

它不适用于access_code。串authorizationUrl =新GoogleAuthorizationCodeRequestUrl( \t \t \t \t OAuth2ClientCredentials.CLIENT_ID, \t \t \t \t OAuth2ClientCredentials.OAUTH_CALLBACK_URL,V).build(); –

+0

和mWebView.loadUrl(authorizationUrl);上面的 –

+0

将提供访问代码,但我需要访问令牌,我需要客户端密钥来交换访问令牌的代码。除了使用简单API访问密钥外,还有其他解决方案吗?我需要获取用户配置文件 –

9

点击“下载JSON” 是不是你在找什么? enter image description here

+1

干杯,我发现我的JSON内的秘密! – Jack

+13

我下载了它。但是,我没有发现秘密身份证。我怎么能得到 – harikrishnan

+0

@Jack我也没有找到它。 – curiousMind

-2

另一种解决方案是,你必须创建具有“已安装的应用程序”的类型,客户端ID,那么你将有客户端机密

2

就在今天,我发现,在新的云端控制台,我们可以看到Android应用程序的客户端秘密 - 而在旧的谷歌控制台,我们不能。

要使用新的云主机,只需点击消息“我们正在改进的经验,尝试新的云端控制台”。 Google会要求您确认短信。现在,你会被重定向到the new cloud console

click this message to use the new cloud console

现在,只需选择你的项目,点击“注册应用程序”在左边的菜单上,选择您的Android应用,瞧上的OAuth 2.0客户端ID你”你会看到你的客户的秘密。不知道为什么在旧的谷歌控制台不显示,但如果你真的需要一个客户端密钥,它就在那里。

here we can see the client secret for android apps

+0

我身边没有“注册应用程序”选项。我该怎么做才能看到它? – marienke

0

source说: 访问的谷歌开发者控制台获取的OAuth 2.0凭据如已知的谷歌和你的应用程序客户端ID和客户端密钥。这组值根据您正在构建的应用程序类型而异。例如,JavaScript应用不需要秘密,但在Web服务器应用程序一样。

3

由于几乎所有来自已接受的答案已被弃用,我想我会分享我找到的。

我需要需要客户端秘密的People API。什么谷歌建议人们使用API​​与Android是,

选择应用程序类型其他,进入 名“人民API快速入门”,然后点击创建按钮。

在这里找到:https://developers.google.com/people/quickstart/java (步骤1,E部分)

所以,如果你需要一个客户端秘密,你可以考虑使用其他。当然,请先按照您的特定API的文档。

+0

好朋友!我会尽力而为。谢谢 – curiousMind

+0

它是否适用于android? – curiousMind