我正尝试从基于Java的networking应用程序上传到YouTube,我花了几天的时间来了解问题所在以及问题所在,我无法得到它,因为现在我正在将我的头发从头上拉开。 我在Google Console中注册了我的networking应用程序,所以我得到了一对客户端ID和秘密,并可以使用我的configuration下载JSONtypes的文件。 所以这里是configuration: { "web":{ "auth_uri":"https://accounts.google.com/o/oauth2/auth", "client_secret":"***", "token_uri":"https://accounts.google.com/o/oauth2/token", "client_email":"***", "redirect_uris":["http://localhost:8080/WEBAPP/youtube-callback.html","http://www.WEBAPP.md/youtube-callback.html"], "client_x509_cert_url":"***", "client_id":"***", "auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs", "javascript_origins":["http://www.WEBAPP.md/"] } } 我有可能获得Google的默认url吗? The redirect URI in the request: http://localhost:8080/Callback did not match a registered redirect URI 它总是给我默认的http://localhost:8080/Callback URL而不是我的。 和IDE控制台显示我: Please open the following address in your browser: https://accounts.google.com/o/oauth2/auth?client_id=***&redirect_uri=http://localhost:8080/Callback&response_type=code&scope=https://www.googleapis.com/auth/youtube.upload Attempting to open that address in the default browser now… 我正在使用最后一个版本的依赖项: […]
我如何validationGoogle身份validation访问令牌? 我需要以某种方式查询Google并询问:[给定访问令牌]对于[example@example.com] Google帐户是否有效? 简短版本 : 很明显,如何使用通过Google身份validationAPI :: OAuth身份validationWeb应用程序提供的访问令牌,然后从一系列Google服务请求数据。 目前还不清楚如何检查给定的访问令牌对于给定的Google帐户是否有效。 我想知道如何。 长版本 : 我正在开发一个使用基于令牌的身份validation的API。 在提供有效的用户名+密码或从N个可validation服务中的任何一个提供第三方令牌时,将返回令牌。 其中一项第三方服务是Google,允许用户使用他们的Google帐户对我的服务进行身份validation。 这将在以后扩展到包括雅虎帐户,可信的OpenID提供商等。 基于Google的访问示意图示例: 替代文字http://webignition.nethttp://img.dovov.comfigures/auth_figure002.png 'API'实体完全在我的控制之下。 “公共界面”实体是任何基于networking或桌面的应用程序。 一些公共接口在我的控制之下,其他的则不在,而其他的我可能从来不知道。 因此,我无法相信在步骤3中提供给API的令牌。这将随相应的Google帐户电子邮件地址一起提供。 我需要以某种方式查询谷歌,并问: 这个访问令牌是有效的example@example.com ? 在这种情况下,example@example.com是Google帐户的唯一标识符 – 用户用于login其Google帐户的电子邮件地址。 这不能被认为是一个Gmail地址 – 有人可以有一个谷歌帐户,没有一个Gmail帐户。 Google文档清楚地说明了如何使用访问令牌从多个Google服务中检索数据。 没有什么似乎说明如何检查一个给定的访问令牌是否有效。 更新该令牌对N个Google服务有效。 我无法尝试使用Google服务的令牌作为validation方式,因为我不知道给定用户实际使用的所有Google服务的哪个子集。 此外,我永远不会使用Google身份validation访问令牌来访问任何Google服务,只是作为validation所谓的Google用户实际上是他们所说的人的手段。 如果还有其他的方法,我很乐意尝试。
我试图做一个YouTubevideo上传的网页,因此我试图从谷歌API的控制台获取客户端ID,并在API控制台显示如下所示: Client ID: 533832195920.apps.googleusercontent.com Redirect URIs: http://bobyouku.ap01.aws.af.cm/testyoutube.php https://developers.google.com/oauthplayground 但是,当我尝试使用以下URLtesting我的帐户时: https://accounts.google.com/o/oauth2/auth?client_id=533832195920.apps.googleusercontent.com&redirect_uri=http%3A%2F%2Fbobyouku.ap01.aws.af.cm%2Ftestyoutube.php&scope=https%3A% 2F%2Fwww.googleapis.com%2Fauth%2Fyoutube&RESPONSE_TYPE =代码&ACCESS_TYPE =离线 它给出了invalid_client的结果。 即使我在oauth2操场上尝试,也会发生同样的失败 所以谁知道发生了什么?
开发人员凭据(如密码,密钥和客户端ID)旨在供您使用,并标识您的API客户端。 您将保持您的凭据保密,并做出合理的努力,防止和阻止其他API客户端使用您的凭据。 开发人员凭据可能不会embedded在开源项目中。 ( https://developers.google.com/terms/ ,我的重点) 这是否意味着我的开源驱动器命令行客户端需要强制我的软件的每个用户在Google云端控制台中设置一个新项目? 有更好的select吗? 不是很难从非开源中提取客户端ID和客户端“秘密”,为什么区分? “安装应用程序”客户端ID和秘密并不是真正的秘密,Google文档似乎也认同: 这个过程会产生一个客户端ID,在某些情况下,还会生成一个客户端密钥,并将其embedded到应用程序的源代码中。 ( 在这种情况下,客户的秘密显然不被视为一个秘密。 ) ( https://developers.google.com/accounts/docs/OAuth2 ,再次强调)