Youtube搜索因GoogleJsonResponseException而失败:403 Forbidden

时间:2013-02-26 22:46:26

标签: youtube-api android-youtube-api

这似乎是一个基本程序,但我不知道出了什么问题。

logcat输出错误:

com.google.api.client.googleapis.json.GoogleJsonResponseException:
403 Forbidden
{
"code" : 403, 02-26
"errors" : [ {
"domain" : "usageLimits",
"message" : "Access Not Configured",
"reason" : "accessNotConfigured"
}
"message" : "Access Not Configured"

我在code.google.com API控制台中配置了YouTube数据API,并为我的Android应用程序提供了一个简单的访问API密钥。

代码如下;与搜索示例代码相同:

YouTube youTube = new YouTube.Builder(HTTP_TRANSPORT, JSON_FACTORY,
  new HttpRequestInitializer() {
    @Override
    public void initialize(HttpRequest httpRequest) throws IOException {}
})
.setApplicationName("youtubeplayer")
.setYouTubeRequestInitializer(new YouTubeRequestInitializer(DEV_KEY))
.build();

YouTube.Search.List search = youTube.search().list("id,snippet");
//search.setKey(DEV_KEY);
search.setQ(videoName);
search.setType("video");

search.setFields("items(id/kind,id/videoId,snippet/title,snippet/thumbnails/default/url)");
search.setMaxResults(NUMBER_OF_VIDEO);
SearchListResponse searchListResponse = search.execute();
List<SearchResult> searchResultList = searchListResponse.getItems();

这适用于Android。我可以使用相同的密钥在YouTube Android播放器API上播放视频。

2 个答案:

答案 0 :(得分:2)

您需要使用浏览器密钥来访问Youtube Data API。 Android密钥仅用于Youtube播放器。

所以只需在DevConsole中生成浏览器密钥,就可以了。

答案 1 :(得分:0)

1)你需要获得你的SHA1密钥“keytool -list -v -keystore~ / .android / debug.keystore -alias androiddebugkey -storepass android -keypass android”

2)在API控制台中:使用此密钥和完整包名称创建客户端ID。

3)在API控制台中:使用此密钥和完整包名创建一个Android密钥。

4)从控制台启用YouTube Data API v3