2016-04-22 77 views
1

我正在使用此代碼來縮短我的長網址。我做錯了什麼?使用谷歌API密鑰的URL Shortener

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." 
} 

回答

0

看起來你已經打包了應用程序的開發(無符號)。要在android中使用此API,您必須在API控制檯中註冊您的Android應用程序將簽名的密鑰。

來自Google :: 如果您的應用程序直接從Android(而不是從Web服務器)訪問API,然後在控制檯中註冊數字簽名的.apk文件的公共證書,則需要您的Android程序包名稱和SHA -1指紋。

+1

我添加了我的密鑰..並且還將包名和SHA-1指紋添加到了Google控制檯。仍然給我錯誤 – Sanket

+0

但似乎根據他的錯誤,你還沒有簽署你的測試與apk。您是否出口簽署的包裹?或者運行調試 – tik27

+0

是的。我簽署了apk。 – Sanket