Android - Youtube API V3 搜索不起作用

2023-12-19

我在集成 youtube v3 API 时遇到了困难。我尝试了中给出的所有可能的解决方案YouTube API 密钥 https://stackoverflow.com/questions/39543105/youtube-api-key/39747334#.

这是我的代码:

YouTube.Search.List query; 
query = youTube.search().list("id, snippet");
query.setKey(YOUR_API_KEY); 
query.setMaxResults(5L); 
query.setChannelId(channelId); 
query.setOrder("date"); 
SearchListResponse response = query.execute(); 
List<SearchResult> results = response.getItems();

As per 艾曼·阿卜西的答案,我还尝试传递 packageName 并生成 SHA1 (ZFzdtB22bpkKGc1kSgi0qxUPSWk=)。

request.getHeaders().set("X-Android-Package", packageName);
request.getHeaders().set("X-Android-Cert",signature);

但是当我这样做时,我得到了错误:

{“代码”:403,“错误”:[ { “域”:“使用限制”, "message": "Android 包名称和签名证书指纹,com.example.somename 和 ZFzdtB22bpkKGc1kSgi0qxUPSWk=,执行 与您的 API 密钥上配置的应用程序限制不匹配。请用 API 控制台更新您的关键限制。", “原因”:“ipRefererBlocked”, “扩展帮助”:“https://console.developers.google.com/apis/credentials?project=1234567 https://console.developers.google.com/apis/credentials?project=1234567” } ], "message": "Android 包名称和签名证书指纹,com.example.somename 和 ZFzdtB22bpkKGc1kSgi0qxUPSWk=,不符合应用限制 在您的 API 密钥上配置。请使用 API 控制台更新您的 关键限制。” }

API密钥配置:

我已经为调试和生产环境添加了 SHA-1 指纹。


好吧,这已经很旧了,但我为我的案例解决了这个问题,我认为这可能对其他人有帮助。我去了 oauth ,似乎解决了。

真正的问题是,如果您使用不受限制的密钥[也许,取决于启用的 API],则有一个链接的计费帐户; API 应该可以工作。如果它不受限制地工作,那么您就走在正确的道路上。

一旦您将其限制为 Android,在您签署应用程序之前,该密钥将再次失败。我发现的最简单的方法是在 gradle 文件中对 android 下的变体使用签名配置。

signingConfigs {
    debug {
        storeFile file("/users/xxxxxxxxxx/Android/keystores/google_demos/debugandroid.jks")
        storePassword "xxxxxxxxxx"
        keyAlias "com.example.xxxxxxxxxx"
        keyPassword "xxxxxxxx"
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android - Youtube API V3 搜索不起作用 的相关文章

随机推荐