Я пытаюсь найти интересные места и включить APIS "google maps android API & google places API". Когда я отправляю URL-адрес в веб-браузере с помощью моего API_Key.Ошибка stackoverflow с использованием gson
Сообщение об ошибке:
«Это IP, сайт или мобильное приложение не имеет права использовать этот ключ API. Запрос получен с IP-адреса 212.241.70.124 с пустым реферированием».
2-я вещь, когда я запускаю этот код, тогда я получаю ошибку: «java.lang.StackOverflowError: размер стека 1036 КБ gson». Пожалуйста, дайте мне знать, что я делаю неправильно? Я был бы очень благодарен вам!
Java код:
public class FoodFragment extends Fragment {
private SupportMapFragment mapfragment;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view= inflater.inflate(R.layout.food_layout, null);
// I am getting Map here and it's okay.
googlemap();
PostFetcher postfetcher=new PostFetcher();
postfetcher.execute();
return view;
}
private class PostFetcher extends AsyncTask<Void,Void,String>{
private static final String TAG = "PostFetcher";
public static final String SERVER_URL = " https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=-33.8670522,151.1957362&radius=50&type=restaurant&name=cruise&key=My APi key here";
@Override
protected String doInBackground(Void... params) {
try {
Gson gson = new GsonBuilder().create();
FoodFragment jsondata = gson.fromJson(SERVER_URL, FoodFragment.class);
System.out.println("data="+jsondata);
} catch (Exception ex) {
Log.e(TAG, "Failed to parse JSON due to: " + ex);
}
return null;
}
}
}
спасибо и зачем делать запрос HTTP? почему я получаю ошибку в браузере, когда хочу увидеть структуру данных json? – Shahek
Обычный объект Java (POJO) ... 'class Person {string name; } '==' {"name": "something"} '.. Для этого используется Gson; сериализация объектов Java. –
Вы должны сделать HTTP-запрос, чтобы получить строку JSON. Вы в настоящее время пытаетесь преобразовать String (url) в объект Java, который не будет работать. –