此api项目无权使用此API

时间:2018-09-27 06:40:20

标签: android api google-maps

我做了一个出租车预订项目,该项目使用google maps api定位出租车,接送地点。

问题是当我请求乘车时出现以下错误:

This API project is not authorized to use this API

请注意,我已经启用了所有google map api服务,然后重新生成密钥,问题仍然存在。

如何解决这个问题?

4 个答案:

答案 0 :(得分:1)

您需要在google Developer控制台中启用所需的API:https://console.developers.google.com/

在左上角选择您的项目,然后在仪表板中单击“启用API和服务”按钮。

请注意,您可能需要根据需要启用1个以上的API(方向,地理位置,地理编码等)。

答案 1 :(得分:0)

如果您认为已启用所有功能,则可能会错过像这样更改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标签下

答案 2 :(得分:0)

我找到了答案,

问题出在我这一行的代码中:

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的值由来自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);
    }

答案 3 :(得分:0)

要解决此问题,如果您点击折线Api:

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

需要启用API:

  1. GeoLocation API
  2. Directions API