Этому проекту API не разрешено использовать этот API

Я сделал проект заказа такси, который использует api карт Google для поиска такси, мест посадки и высадки.

Проблема в том, что когда я запрашиваю поездку, возникает следующая ошибка:

This API project is not authorized to use this API

Обратите внимание, что я включил все службы api карты Google, а затем восстановил ключ, и проблема все еще существует.

Как это решить?

stackoverflow.com/questions/32994634/…
Sarath Kn 27.09.2018 08:43

Я уже видел это решение и включил службы api геокодирования и геолокации, но проблема все еще возникает.

Rasool Ahmed 27.09.2018 08:54
3
2
25 401
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Вам необходимо включить необходимые API в консоли разработчика Google: https://console.developers.google.com/

Выберите свой проект в верхнем левом углу, а затем нажмите кнопку «ВКЛЮЧИТЬ API И УСЛУГИ» на панели инструментов.

Обратите внимание, что вам может потребоваться включить более 1 API (маршруты, геолокация, геокодирование и т. д.) В зависимости от ваших требований.

Если вы думаете, что включили все, то вы можете пропустить изменение файла manifest.xml, например:

        <meta-data
            android:name = "com.google.android.geo.API_KEY"
            android:value = "@string/google_maps_key" />
        <meta-data
            android:name = "com.google.android.gms.version"
            android:value = "@integer/google_play_services_version" /> 

Добавьте эти теги в тег application

Я добавляю этот тег, перестраиваю / очищаю проект, но проблема все еще существует :(

Rasool Ahmed 27.09.2018 10:47
Ответ принят как подходящий

Я нашел ответ,

Проблема была в моем коде в этой строке:

public void requestDirection() {

        snackbar = Snackbar.make(view, getString(R.string.fare_calculating), Snackbar.LENGTH_INDEFINITE);
        snackbar.show();
        GoogleDirection.withServerKey(getString(R.string.google_api_key))
                .from(origin)
                .to(destination)
                .transportMode(TransportMode.DRIVING)
                .execute(this);

        confirm.setEnabled(false);
    }

Значение R.string.google_api_key's было загружено другим ключом от strings.xml. На данный момент я дал прямое значение withServerKey, пока не обнаружил проблему с моим strings.xml..

public void requestDirection() {

        snackbar = Snackbar.make(view, getString(R.string.fare_calculating), Snackbar.LENGTH_INDEFINITE);
        snackbar.show();
        GoogleDirection.withServerKey("[api key]")//getString(R.string.google_api_key))
                .from(origin)
                .to(destination)
                .transportMode(TransportMode.DRIVING)
                .execute(this);

        confirm.setEnabled(false);
    }

Чтобы решить эту проблему, если вы нажмете ломаную линию Api:

https://console.developers.google.com/google/maps-apis/apis/directions-backend.googleapis.com/metrics?project=light-router-266008

Необходимо включить API:

  1. GeoLocation API
  2. API маршрутов

Другие вопросы по теме