在我的Android应用中,我正在尝试使用Youtube Data API V3获取特定区域最受欢迎的YouTube视频,但不需要OAuth。
但是获得以下异常:
com.google.api.client.googleapis.json.GoogleJsonResponseException:403 故宫
{ "代码" :403,
"错误" :[{ "结构域" :" usageLimits",
"消息" :"请求未指定任何Android程序包名称或签名证书指纹。请确保客户是 发送它们或使用API控制台更新您的密钥限制。",
"理由" :" ipRefererBlocked",
" extendedHelp" :" https://console.developers.google.com/apis/credentials?project=653745488165"
},
"消息" :"请求未指定任何Android程序包名称或签名证书指纹。请确保客户是 发送它们或使用API控制台更新您的密钥限制。"
}
我找不到任何API来发送或附加包裹名称或签名证书指纹。
我在google开发者控制台中为我的Android应用程序生成了API密钥,并通过指定将API密钥重新设置为我的应用程序 我的应用程序的包名称和apk的密钥库文件的SHA-1指纹。
用于获取大多数人气视频的代码段:
sYoutube = new YouTube.Builder(new NetHttpTransport(), new JacksonFactory(), new HttpRequestInitializer() {
@Override
public void initialize(HttpRequest request) throws IOException {
}
}).setApplicationName(/*package name of my application here*/>).build();
list = sYoutube.videos().list("snippet,contentDetails");
list.setChart("mostPopular");
list.setMaxResults(3);
list.setRegionCode("IN");
list.setKey(/*API key generated in google developers console*/);
VideoListResponse response = list.execute();
但是如果我删除了API密钥的限制,我就可以毫无错误地获取视频。但我不想删除 API密钥限制。
非常感谢您提前寻求帮助。