Places API を使用して情報を取得し、地図上に表示する Android アプリを開発しています。場所を取得する最初のリクエストは、HTTP リクエストからの ACCESS_DENIED ステータス メッセージで失敗します。以下は、リクエストを生成するために使用したコードです。
try {
HttpRequestFactory httpRequestFactory = createRequestFactory(HTTP_TRANSPORT);
HttpRequest request = httpRequestFactory
.buildGetRequest(new GenericUrl(PLACES_SEARCH_URL));
request.getUrl().put("key", API_KEY);
request.getUrl().put("location", _latitude + "," + _longitude);
request.getUrl().put("radius", _radius); // in meters
request.getUrl().put("sensor", "false");
if(types != null)
request.getUrl().put("types", types);
PlacesList list = request.execute().parseAs(PlacesList.class);
// Check log cat for places response status
Log.d("Places Status", "" + list.status);
return list;
別の Stackoverflow の投稿で、投稿者が次のことを試してキーをテストするよう誰かが提案していました。
ここで api コンソールに移動し、次に SERVICES に移動します。[アクティブなサービス] タブをクリックし、[Places API] がオンになっていることを確認します。クリックしてください ?その横にある「試してみる」リンク。機能するはずのキーを使用して適切な URL を作成する必要があります。試しているリンクとこの URL を比較して違いを確認してください。
私はこれらの指示に従いました。? をクリックしたときに次の結果を受け取ったという事実に基づいています。リンクを「試す」には、コードとは無関係にAPIキーに根本的な問題があると思われます...そうでなければ、REQUEST_DENIEDではなくSUCCESSを取得すると思います:
{
"html_attributions" : [],
"results" : [],
"status" : "REQUEST_DENIED"
}
デバッグ証明書の SHA1 を入力してキーを取得しました (Keytool を使用して適切なすべてのパラメーターを使用して取得しました... androiddebugkey....debug.keystore など)、その後に「;」を入力します。アプリのパッケージ名。
何が問題なのかわからない...単純なことだと確信していますが、それが見えず、立ち往生しています。考え?