【发布时间】:2013-12-15 15:34:42
【问题描述】:
由于某种原因,我无法为 Android 应用程序配置 youtube v3 API 服务。我反复收到错误 403:未配置访问。
示例代码:
try
{
youtube = new YouTube.Builder(HTTP_TRANSPORT, JSON_FACTORY, new HttpRequestInitializer() {
public void initialize(HttpRequest request) throws IOException {}
}).setApplicationName("appname").build();
String queryTerm = "MC";
YouTube.Search.List search = youtube.search().list("id,snippet");
search.setKey(DeveloperKey.DEVELOPER_KEY);
search.setQ(queryTerm);
search.setType("video");
search.setFields("items(id/kind,id/videoId,snippet/title,snippet/thumbnails/default/url)");
search.setMaxResults(NUMBER_OF_VIDEOS_RETURNED);
SearchListResponse searchResponse = search.execute();
List<SearchResult> res = searchResponse.getItems();
return res;
我设置了以下内容:
- 在云控制台注册了一个谷歌云项目。
- 在 API 和 Auth 下,我已打开“YouTube Data API v3”。这是唯一开启的服务。
- 我已经注册了我的 Android 应用程序“appname”,它与上面传递给“setApplicationName”的参数相匹配。
- 我使用 Eclipse -> Window -> Preferences -> Android -> Build 菜单为我提供了 debug.keystore 的 SHA1。我验证了来自我的 AndroidManifest.xml 包 =“test.project”的包名称。
- 我已将谷歌云“Android Key -> Api Key”设置为请求:search.setKey(DeveloperKey.DEVELOPER_KEY);
- 我已经仔细检查了 eclipse 是否使用 debug.keystore 对包进行签名。
我没有使用 oAuth。
有人知道我错过了什么吗?
干杯, 乔恩
【问题讨论】:
-
我将尝试直接调用其余的 api,而不是通过 google 类。
-
如果我手动将请求发布到:googleapis.com/youtube/v3/…,它会返回:{ "error": { "errors": [ { "domain": "usageLimits", "reason": "accessNotConfigured", "message": "Access Not Configured" } ], "code": 403, "message": "Access Not Configured" } } 所以点谷歌的一致性。
标签: java android youtube youtube-api android-youtube-api