我对开发者控制台功能感到有些困惑。
我有一个项目,我在其中访问youtube数据apiv3。我创建了我的项目并获得了4个键:
除此之外,前三个是由谷歌服务自动生成的。我通过给出项目的SHA-1指纹生成了android密钥。我有以下问题,我似乎没有得到答案:
为什么我会自动生成前三个?我不在后端工作,所以只是出于好奇,如果客户端使用服务器密钥而不是浏览器密钥?有什么不同吗?
我猜SHA-1习惯像公钥加密一样工作。它仅依赖于包和开发环境吗?我没有使用keytool,但直接使用Studio中的SigningReports功能。指纹所依赖的参数究竟是什么?我通过删除调试密钥库创建了新的SHA-1。 Android studio会自动重新生成调试密钥库。此密码学究竟是如何工作的?
我的iOS同事可以在没有密钥的情况下访问和刷新令牌。 AFAIK对于OAuth2.0,我们需要获取身份验证令牌,将其与客户端ID,密钥和API密钥一起使用以获取访问权限并刷新令牌。他们如何做到这一点?秘密密钥在这里扮演什么角色?
最重要的是:我的项目中有不同的API KEYS。 google-services.json中的一个与
youTubePlayerFragment.initialize(API_KEY,新的YouTubePlayer.OnInitializedListener()
不同!!它仍然有效。如何??
答案 0 :(得分:1)
答案1:
的服务器密钥和浏览器密钥之间的区别服务器密钥:
如果您的应用程序在服务器上运行,请创建并使用服务器密钥。不要在服务器代码之外使用此密钥。例如,不要将其嵌入网页中。为防止配额被盗,请限制您的密钥,以便只允许来自您的服务器的请求。源IP地址。
浏览器键:
如果您的应用程序在客户端(例如Web浏览器)上运行,请创建并使用浏览器密钥。为防止您的密钥在未经授权的网站上使用,请仅允许您管理的域中的推介。
答案2:
它也适用于keytool和SigningReports功能。
答案4:
您可以在google开发者控制台中启用api密钥时使用多个api密钥,然后在projectroot/yourapp/src/debug/AndroidManifest.xml
ex:
<!-- Goolge Maps API Key -->
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="******************" />
<!-- Google Places API Key -->
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="******************" />
答案 1 :(得分:1)
您对Youtube的请求通过Google Play服务发生。您将OAuth2.0 OAuth2.0令牌嵌入到您的请求中。 OAuth2.0令牌进一步包含您特定类型的Android密钥。不同的Android密钥是服务器,浏览器,Android,IOS 等。
OAuth与您的用户身份验证相关联。 OAuth进一步携带和Android Key提供Google Play服务 - Google Play服务在Google Developer Console中读取信息 - 决定哪种特定类型的设备(例如,iso,浏览器,Android)正在询问Youtube服务器。
如果您使用的是Android设备,则不需要浏览器和服务器密钥。
https://developers.google.com/youtube/android/player/register
答案 2 :(得分:1)
纠正我如果我错了。
浏览器密钥:假设您有一个网站,您可以从那里开始 使用youtube API
服务器密钥:假设您为自己的应用程序构建了自己的后端API 需要使用Youtube API
Android Key:假设您还拥有Android应用,需要消费 Youtube API
您可以使用不同的密钥分别跟踪API的每个消费者。您 可以互换(不确定),但这只会弄乱跟踪。
SHA依赖于密钥库(debug / signed),每个系统都有唯一的 调试密钥库。您可以创建自己的签名密钥库。
What is the Access Token vs. Access Token Secret and Consumer Key vs. Consumer Secret我认为适用于任何oAuth
Youtube API,Google Map API或任何其他API都是独立的服务。我们需要单独跟踪它们,因此每个消费者每个服务都有不同的API_KEY(在1中解释)。
注意:通过跟踪,我的意思是像API配额,每秒点击次数等