【发布时间】:2017-12-10 09:55:03
【问题描述】:
我对开发者控制台的功能有些困惑。
我有一个项目可以访问 youtube 数据 apiv3。我已经创建了我的项目并获得了 4 个密钥:
- 浏览器密钥
- 服务器密钥
- Web 客户端 OAuth2.0 客户端 ID 密钥
- Android 密钥
除此之外,前三个是由谷歌服务自动生成的。我通过提供项目的 SHA-1 指纹生成了 android 密钥。我有以下问题,我似乎没有得到回答:
为什么我会自动生成前三个?我不在后端工作,所以只是出于好奇,如果客户端使用服务器密钥而不是浏览器密钥怎么办?有什么区别吗?
我猜 SHA-1 用于像公钥加密一样工作。它只依赖于包和开发环境吗?我没有为此使用 keytool,而是直接使用 Studio 中的 SigningReports 功能完成。指纹所依赖的参数究竟是什么?我通过删除调试密钥库创建了新的 SHA-1。 Android Studio 会自动重新生成调试密钥库。此外,这种加密技术究竟是如何工作的?
我的 iOS 同事无需密钥即可获得访问权和刷新令牌。 AFAIK 对于 OAuth2.0,我们需要获取身份验证令牌,将其与客户端 ID、密钥和 API 密钥一起使用以获取访问权限和刷新令牌。他们是如何做到的?还有秘钥在这里扮演什么角色?
最重要的是:我的项目中有不同的 API KEY。 google-services.json 中的一个是不同的,在
youTubePlayerFragment.initialize(API_KEY, new YouTubePlayer.OnInitializedListener()
不一样!!它仍然有效。怎么样??
【问题讨论】:
-
DownVoters 请提供解释?我认为这是像我这样的菜鸟提出的一个完全有效的问题。我当然不希望从一个人那里获得所有细节,因为它来自各个领域。但您至少可以贡献您所知道的,以便对未来的访问者有所帮助。
标签: android oauth-2.0 cryptography sha1 youtube-data-api