尝试在 Android 上访问 Google Knowledge Graph API 时出错

问题描述 投票:0回答:1

我一直在尝试使用Google Knowledge Graph API,这似乎是一个顽固的API,因为我找不到任何教程,而且我在Google找到的唯一教程似乎根本不起作用,我创建了一个API密钥,启用了 Google Knowledge API,但现在我收到此错误

` com.google.api.client.http.HttpResponseException: 403 Forbidden
 ﹕ {
 "error": {
"code": 403,
"message": "Requests from this Android client application \u003cempty\u003e are blocked.",
[
{
"message": "Requests from this Android client application \u003cempty\u003e are blocked.",
 "domain": "global",
"reason": "forbidden"
}
],
 "status": "PERMISSION_DENIED"
}
}`

我正在使用的代码

 HttpTransport httpTransport = new NetHttpTransport();
        HttpRequestFactory requestFactory = httpTransport.createRequestFactory();
        JSONParser parser = new JSONParser();
        GenericUrl url = new GenericUrl("https://kgsearch.googleapis.com/v1/entities:search");
        url.put("query", "Taylor Swift");
        url.put("limit", "10");
        url.put("indent", "true");
        url.put("key",API_KEY);

有人知道如何解决这个问题吗?这是另一件事,当我像这样直接使用 API 密钥时,它会给我上面的错误,当我像这样从

url.put("key",API_KEY)
文件加载它时,它会给我这个错误

values

我已经尝试了我所知道的一切,但没有任何帮助,其他 Google API 对我来说也适用,但对于 Graph API,似乎需要我几周的时间才能让这件事发挥作用。

	

我收到错误“来自此 Android 客户端应用程序的请求\u003cempty\u003e 被阻止。”当尝试添加与 Youtube API 密钥一起使用的应用程序限制时。我遇到的问题是我没有正确地将标头添加到 API 调用中。使用 OKHttp 的标头示例:

android api freebase
1个回答
0
投票

您在每次 API 调用中都需要您的包名称和 SHA1 指纹。我有一个函数可以获取正确的 SHA1 指纹以进行调试或发布。注意:SHA1 指纹的格式应删除 :(例如:不要使用“A1:B2:C3...”,而是使用“A1B2C3...”)

还要确保您在 Google Console 中有用于调试和指纹的条目。

© www.soinside.com 2019 - 2024. All rights reserved.