关于开发者控制台的功能,我有一些疑惑。
我正在访问YouTube数据APIv3的一个项目中。我创建了我的项目并获得了4个密钥:
- 浏览器密钥
- 服务器密钥
- Web客户端OAuth2.0客户端ID秘钥
- Android密钥
其中前三个是由Google服务自动生成的。我通过提供项目的SHA-1指纹生成了Android密钥。我有以下几个问题,但似乎无法得到答案:
为什么我会得到前三个自动生成的密钥?我不从事后端工作,那么如果客户端使用服务器密钥而不是浏览器密钥会有什么区别吗?
我猜SHA-1用于像公钥加密一样的工作。它是否仅取决于包和开发环境?我没有使用keytool进行此操作,而是直接在Studio中使用SigningReports功能完成的。指纹取决于哪些参数?我通过删除调试密钥库创建了新的SHA-1。Android Studio会自动重新生成调试密钥库。此加密技术究竟是如何工作的?
我的iOS同事能够在没有秘密密钥的情况下获取访问和刷新令牌。据我所知,对于OAuth2.0,我们需要获取授权令牌,将其与客户端ID、秘密密钥和API密钥一起使用以获取访问和刷新令牌。他们是如何做到的?此处秘密密钥扮演了什么角色?
最重要的是:我的项目中有不同的API密钥。在google-services.json中的一个与
youTubePlayerFragment.initialize(API_KEY, new YouTubePlayer.OnInitializedListener()
中的API密钥不同!为什么还能工作?