簡體   English   中英

C# Google 地理編碼:即使按照所需的步驟操作,權限也會不斷被拒絕

[英]C# Google Geocoding: Constantly Getting Permission Denied Even When following the Steps Required

我正在創建一個應用程序,其中需要將街道號碼轉換為緯度和經度,以便它可以顯示在 map 上。 我決定使用 Google 的地理編碼 API。

對於初學者 - 我在控制台中創建了一個基本應用程序,它將給定的街道號碼轉換為緯度和經度值。

我還在 Google API 控制台中創建了一個 API 密鑰。

Geocoding.IGeocoder geocoder = new GoogleGeocoder() { ApiKey = "my api key" };
            IEnumerable<Address> addresses =  await geocoder.GeocodeAsync("1600 pennsylvania ave washington dc");
            Console.WriteLine("Formatted: " + addresses.First().FormattedAddress);
            Console.WriteLine("Coordinates: " + addresses.First().Coordinates.Latitude + ", " + addresses.First().Coordinates.Longitude);

            Console.ReadKey();

運行應用程序時 - 我收到以下異常:

Geocoding.Google.GoogleGeocodingException: 'There was an error processing the geocoding request. See Status or InnerException for more information.'

InnerException 中沒有信息 - 所以我檢查了狀態,它說:

在此處輸入圖像描述

RequestDenied - 幸好這是一個常見問題 - 所以我去以下頁面尋找解決方案:

在此處輸入圖像描述

因此,首先我確保在 Google Cloud Console 中啟用/激活 Places API - 它已激活。

在此處輸入圖像描述

我檢查了我的關鍵參數是否有任何問題 - 但我找不到任何問題 - 似乎很好。 我生成了一個新的 api 密鑰以防萬一,但它仍然不起作用。

我還檢查了 API 密鑰是否已正確設置 - 我創建了一個不受限制的新 API 密鑰,但我仍然遇到同樣的問題。

在此處輸入圖像描述

我已經完成了這里的每一步,但我仍然遇到同樣的問題:請求被拒絕。

我不知道我是否錯過了一個非常重要的步驟,但現在我不知道該怎么做。 我已經嘗試了幾個小時來解決這個問題,但無濟於事。

我不知道問題的根源是什么 - 我向任何可以幫助我的人提供 100 名聲望。

謝謝,

湯米99

一秒鍾發送多少個請求? 我在使用限制文檔中找到了這個使用限制

雖然您不再受限於每天的最大請求數 (QPD),但在使用 Places API 時,以下使用限制仍然適用:

速率限制為每秒 100 個請求 (QPS)。 它計算為使用同一項目的憑據的所有應用程序的客戶端和服務器端請求的總和。

正如@emert117 所述,您可能已達到使用限制。 此外,谷歌在某些國家和某些 IP 地址的服務有限。 您可能需要確保請求不會通過 VPN 或代理使用 IP 地址或不是來自受限制的國家/地區。

這些線程可能有更多有用的評論:

  1. 谷歌地理編碼 API - REQUEST_DENIED

  2. Geocoder gem 是否與谷歌 API 密鑰一起使用?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM