2010-07-09 37 views

Trả lời

68

Cho đến cuối năm 2014, một nguồn phổ biến của lỗi này được bỏ qua tham số bắt buộc sensor từ yêu cầu, như dưới đây. Tuy nhiên tính đến 2014/12/31 hoặc sớm hơn mà không còn cần thiết:

The sensor Parameter

The Google Maps API previously required that you include the sensor parameter to indicate whether your application used a sensor to determine the user's location. This parameter is no longer required.


Bạn có thể chỉ định sensor tham số theo yêu cầu?

"REQUEST_DENIED" indicates that your request was denied, generally because of lack of a sensor parameter.

sensor (required) — Indicates whether or not the geocoding request comes from a device with a location sensor. This value must be either true or false

+0

Rất cám ơn vì nó hoạt động ngay bây giờ – cs0815

+0

Điều này cũng khiến tôi hiểu. Tôi cho rằng họ sẽ đặt tất cả các thông số bắt buộc ở đầu danh sách! – Jrgns

+4

Sự khác nhau giữa việc cung cấp 'sensor = true' so với' sensor = false' là gì? Ý tôi là * cái gì * nếu máy tính gọi có thể sử dụng cảm biến? Khi tôi thử 'sensor = false', tôi nhận ** chính xác ** giống như khi tôi thử' sensor = true'. Vậy tại sao không đơn giản sử dụng 'sensor = random (true/false)'? – Pacerier

10

Nếu bạn chỉ cần sao chép & dán URL ví dụ mà Google cung cấp cho trang web của họ trong http://maps.google.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=true_or_false nó sẽ thất bại vì các thông số sai của cảm biến. Bạn nên thay đổi nó thành true hoặc false và không phải là cái mà họ đã viết. Có thể là lỗi mà bạn đã gặp phải, như đã xảy ra với tôi ...

8

Tôi nhận thấy rằng bạn cũng nhận được REQUEST_DENIED cho một số địa chỉ nếu bạn không mã hóa URL đúng địa chỉ của mình. Ví dụ, trong

123 Main St #B, Mytown, CA 94110

nhân vật '#' cần được mã hóa theo% 23

+0

Tôi nghĩ điều đó sẽ gây ra 'INVALID_REQUEST'? – jjwdesign

18

BỎ APIKEY tham số và giá trị của nó

ví dụ. https://maps.googleapis.com/maps/api/geocode/json?address=[YOUR ADDRESS]&sensor=true

+2

Tôi đã có 'sensor = false', điều này khiến nó hoạt động. Cảm ơn! –

+3

+1 Rất bực bội khi làm việc này.Khóa API thực sự xác định ứng dụng của tôi ... cho phép Google vẽ một bức tranh rất cụ thể về ứng dụng và người dùng của tôi. Tại sao Google từ chối thông tin nhận dạng như vậy để ủng hộ yêu cầu ẩn danh ?? –

+0

Cảm ơn rất nhiều. Điều này thực sự hiệu quả. Hoàn toàn đồng ý với @RyanWheale. Chuyện này thật vớ vẩn. –

4

Điều đó khiến Google không cho phép bạn rằng dịch vụ của bạn không được tài khoản này kích hoạt. Hãy thử kích hoạt nó trước. Truy cập vào đây https://console.developers.google.com/project và tạo một dự án mới với dịch vụ địa điểm được kích hoạt có thể giải quyết được sự cố của bạn.

13

Tôi thấy rằng trong trường hợp của mình, hãy gọi đến dịch vụ không có giao thức bảo mật (có nghĩa là: http), sau khi thêm khóa = API_KEY, gây ra sự cố này. Thay đổi thành https để giải quyết nó.

+1

Câu trả lời của bạn đã giải quyết được vấn đề của tôi, vâng! – Matifou

2

Tôi gặp vấn đề này cũng như sử dụng mô-đun 7 vị trí drupal. Tự động điền tất cả các vị trí trống sẽ dẫn đến lỗi này. Thực hiện một trong những yêu cầu đối với các api vị trí bằng tay dẫn đến lỗi này trong JSON trả về:

"Browser API keys cannot have referer restrictions when used with this API."

Giải quyết các vấn đề sau đó là dễ dàng: tạo một khóa mới mà không cần bất kỳ hạn chế và chỉ sử dụng cho Geocoding.

Lưu ý cho những khóa mới cho google api: theo các hạn chế, chúng có nghĩa là giới hạn yêu cầu bằng cách sử dụng khóa api cho các tên miền/tên miền phụ cụ thể. (ví dụ: chỉ yêu cầu từ http://yourdomain.com được cho phép).

2

Đối với những người đang tìm kiếm trang này trong năm 2017, như tôi

Sensor không cần nữa, tôi đã cố gắng và đã nhận lỗi:

SensorNotRequired

Tôi chỉ cần thiết để kích hoạt của tôi Google Maps Geocoding API, mà dường như là cần thiết ngày nay.

Hy vọng nó sẽ giúp một người như tôi.

1

Tôi gặp sự cố này và tôi nhận ra rằng tôi giả định rằng mã hóa địa lý đi kèm với API bản đồ JS. Tuy nhiên, nó là một API riêng biệt mà tôi chưa bật trong bảng điều khiển đám mây. Kích hoạt nó đã sửa nó ngay lập tức.

+0

Đây phải là câu trả lời chấp nhận, ngay bây giờ. Đã lưu tôi giờ! – Dallas

1

Như bạn nói, điều này có thể có nghĩa là địa chỉ IP của bạn đã bị chặn. Tôi đảm bảo rằng bạn chỉ định thông số chính trên chuỗi truy vấn cho yêu cầu API mã hóa địa lý.

https://maps.googleapis.com/maps/api/geocode/xml?sensor=false&address=Placename&key=XXxxxXXxXxxxxXXxx

Ngoài ra hãy chắc chắn rằng nếu bạn đã thiết lập hạn chế địa chỉ IP trong Google Play, bạn đã cho phép địa chỉ IP chính xác, chỉ cần nhấp vào dự án trong danh sách và bạn sẽ thấy phép IP.

Example of project list in Google Developer Console

Nếu bạn vẫn gặp sự cố, bạn có thể muốn xem xét in ra các giá trị của statuserror_message yếu tố từ phản hồi từ Google, bạn sẽ thấy một cái gì đó như thế này:

REQUEST_DENIED - This IP, site or mobile application is not authorized to use this API key. Request received from IP address 123.4.5.678, with empty referer

Nếu không đề cập đến giới hạn địa chỉ IP, nó cũng có thể cung cấp cho bạn đủ thông tin về sự cố mà Google khắc phục.