私はAndroidアプリの座標から位置アドレスを取得しようとしています。前述のように、私は自分自身にAPIキーを取得し、ブラウザ上の標準URLでテストしました。これは正常な応答を返しました。私は私のAndroidアプリ上で同じURLをしようとしたときしかし、この -Googleの逆ジオコーディングURLリクエストは、Androidアプリで空(ゼロからレスゼルではありません)の応答を返します
{
は(ちょうど開く中括弧)私が得た応答です。ここで
は私のJavaコードです:
if (bestLocation != null) {
locationLatitude = bestLocation.getLatitude();
locationLongitude = bestLocation.getLongitude();
String latlng = locationLatitude + "," + locationLongitude;
final String location_type = "RANGE_INTERPOLATED";
final String API_KEY = "MY_WORKING_KEY";
final String url = "https://maps.googleapis.com/maps/api/geocode/json?latlng="
+ latlng + "&location_type=" + location_type + "&key=" + API_KEY;
new GetLocationAddress(CreateUser.this).execute(url);
}
GetLocationAddress
private static class GetLocationAddress extends AsyncTask<String, Void, String> {
private WeakReference<CreateUser> reference;
GetLocationAddress(CreateUser context) {
reference = new WeakReference<>(context);
}
@Override
protected String doInBackground(String... strings) {
try {
HttpURLConnection connection = (HttpURLConnection) new URL(strings[0]).openConnection();
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String result = reader.readLine();
connection.disconnect();
Log.i("JSON Response is ", result);
return result;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
}
URLのすべてのパラメータは、ブラウザ上で作業しています。私はAPI
をAndroidのアプリに制限なく、制限付きで使用しようとしましたが、デバッグキーとリリースキーストアの両方に対してSHA-1
フィンガープリントを設定しましたが、結果は同じです。助けてください。
更新:
私はAPIが私のアプリの指紋とAndroidアプリに制限されながらも、APIコンソールをチェックして、私のすべての要求が禁止さ(エラー403)として扱われていることを発見しました提供されます。デバッグとリリースの両方の指紋のパッケージ名は同じです。私のアプリが応答を受け取った後、ちょっとだけAPIリクエストカウントがコンソールで更新されることも観察されています。
この
AsyncTask
クラスを呼び出すためにはあなたのlogcatを投稿してください。 – Dharmishtha
結果ストリングをJSON構文解析しようとしない限り、エラーまたは例外はありません。これは明らかです。 – Nithin
APIをリクエストできますか? – Dharmishtha