Java 使用谷歌API密钥的URL缩短器
我正在使用此代码来缩短我的长Url。我做错了什么Java 使用谷歌API密钥的URL缩短器,java,android,Java,Android,我正在使用此代码来缩短我的长Url。我做错了什么 Urlshortener.Builder builder = new Urlshortener.Builder (AndroidHttp.newCompatibleTransport(), AndroidJsonFactory.getDefaultInstance(), null); Urlshortener urlshortener = builder.build(); com.google.api.services.urls
Urlshortener.Builder builder = new Urlshortener.Builder (AndroidHttp.newCompatibleTransport(),
AndroidJsonFactory.getDefaultInstance(), null);
Urlshortener urlshortener = builder.build();
com.google.api.services.urlshortener.model.Url url = new com.google.api.services.urlshortener.model.Url();
url.setLongUrl(longUrl);
try {
Urlshortener.Url.Insert insert=urlshortener.url().insert(url);
insert.setKey(key);
url = insert.execute();
return url.getId();
} catch (IOException e) {
return null;
}
但这给了我一个例外
com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden
{
"code": 403,
"errors": [
{
"domain": "usageLimits",
"message": "The Android package name and signing-certificate fingerprint, null and null, do not match the app restrictions configured on your API key. Please use the API Console to update your key restrictions.",
"reason": "ipRefererBlocked",
"extendedHelp": "https://console.developers.google.com/apis/credentials?project=796104768654"
}
],
"message": "The Android package name and signing-certificate fingerprint, null and null, do not match the app restrictions configured on your API key. Please use the API Console to update your key restrictions."
}
看起来您已在开发中打包应用程序(未签名)。要在android中使用此api,您必须在api控制台中注册您的android应用程序将使用的密钥 来自谷歌:
如果您的应用程序直接从Android(而不是从web服务器)访问API,那么要在控制台中注册数字签名的.apk文件的公共证书,您需要您的Android软件包名称和SHA-1指纹。看起来您已经在开发中打包了应用程序(未签名)。要在android中使用此api,您必须在api控制台中注册您的android应用程序将使用的密钥 来自谷歌:
如果您的应用程序直接从Android访问API(而不是从web服务器),那么要在控制台中注册数字签名的.apk文件的公共证书,您需要您的Android软件包名称和SHA-1指纹。我添加了我的密钥。。并在谷歌控制台中添加了包名和SHA-1指纹。仍然给我错误,但似乎根据错误,你没有签署你的测试apk。您是否导出了签名包?或者运行调试我添加了我的密钥。。并在谷歌控制台中添加了包名和SHA-1指纹。仍然给我错误,但似乎根据错误,你没有签署你的测试apk。您是否导出了签名包?或者运行调试