0
j.setUrl("https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=-33.8670522,151.1957362&radius=500&types=food&name=harbour&sensor=false&key=AIzaSyA712jyN6NY0VXSGf8zgXfXSRhq01O8RLY");

これは、私のキーを使用した json の URL です。ステータス request denied が常に表示されます。デバッグ キーストアと新しいキーストアを使用して多数のキーを作成しようとしましたが、何も機能しません。googleのURL例です。それは私にはうまくいきません。新しいキーに関する解決策を提供したい場合は、有効なデバッグ キーを取得する方法の詳細な手順を教えてください。詳しく教えてください。センサーパラメーターに関するソリューションを提供したい場合は、すでにそこにあります。jsonパーサーファイルが必要な場合は、以下のとおりです

    package com.json;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONException;
import org.json.JSONObject;

import android.os.AsyncTask;
public class JSONParser extends AsyncTask<Void, Void, JSONObject> {

    static InputStream is = null;
    static JSONObject jObj = null;
    static String json = "";
    private String url;

    // constructor
    public JSONParser() {

    }

@Override
protected JSONObject doInBackground(Void... params) {
    // defaultHttpClient
    DefaultHttpClient httpClient = new DefaultHttpClient();
    HttpPost httpPost = new HttpPost(getUrl());

    HttpResponse httpResponse = null;
    try {
        httpResponse = httpClient.execute(httpPost);
    } catch (ClientProtocolException e2) {
        // TODO Auto-generated catch block
        e2.printStackTrace();
    } catch (IOException e2) {
        // TODO Auto-generated catch block
        e2.printStackTrace();
    }
    HttpEntity httpEntity = httpResponse.getEntity();
    try {
        is = httpEntity.getContent();
    } catch (IllegalStateException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    BufferedReader reader = null;
    try {
        reader = new BufferedReader(
                new InputStreamReader(is, "iso-8859-1"), 8);
    } catch (UnsupportedEncodingException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    StringBuilder sb = new StringBuilder();
    String line = null;
    try {
        while ((line = reader.readLine()) != null) {
            sb.append(line + "\n");
        }
    } catch (IOException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }
    try {
        is.close();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    json = sb.toString();

    try {
        jObj = new JSONObject(json);
    } catch (JSONException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    // return JSON String
    return jObj;
}

public String getUrl() {
    return url;
}

public void setUrl(String url) {
    this.url = url;
}

}


編集:APIコンソールのレポートを見て、リクエストが行われたことを示しています。リクエストが表示されているので、APIコンソールに正しくつながるため、キーが無効ではないと思います。私が間違っている場合は修正してください。


EDIT 2 :すべてを試してみて、新しいIDを作成し、デバッグキーストアの新しいAPIキーを取得し、urlおよびjsonパーサークラスを使用してまったく新しいプロジェクトを作成しました。まだリクエストが拒否されます。誰かが私を助けることができますか?

4

3 に答える 3

1

1)キーストアの作成方法

プロジェクト >> エクスポート >> ExportAndroidApplication >> 次へ >> 新しいキーストアを作成 (キーストアのパスを記憶) >> すべての詳細を入力 >> ...etc

これで、キーストアと Apk が作成されました。

2) 証明書のフィンガープリント (MD5) を取得する方法

$ keytool -list -alias alias_name -keystore my-release-key.keystore

詳細はこちら

これで、次のような指紋が得られました

証明書の指紋 (MD5): 94:1E:43:49:87:73:BB:E6:A6:88:D7:20:F1:8E:B5:98

3) MapApiKey の取得方法ここをクリックして MD5 を貼り付けると、MapAPIKey が取得されます。アプリケーションでこのキーを使用します。

于 2013-04-03T10:19:37.033 に答える
1

それは最終的に機能するので、私がしたことは

  • 古い API プロジェクトを API コンソールから削除します。
  • 新しいプロジェクトを作成しました。
  • Google Places API サービスのみを開始しました。
  • 試してみるリンクをクリックした
  • 私のブラウザは、作成したデフォルトのキーを使用して正しい結果を表示しました。
  • URL フィールドからキーをコピーしました。
  • アプリで使用しました。できます。万歳!:) 新しい Android キーを作成しませんでした。
于 2013-04-04T05:45:03.617 に答える