2012-07-04 36 views
16

Tôi đang tạo một ứng dụng với API Google Maps. Tôi muốn có thể có một người trên máy tính, xem những gì người khác đã chỉnh sửa trên bản đồ. Tôi đang nghĩ đến việc chuyển thông tin của bản đồ tới Bảng Google Fusion. Người khác sẽ có thể xem mọi thứ dưới dạng một lớp. Tôi muốn chương trình chỉ chạy từ trình duyệt của người dùng và không xây dựng trang web cho nó.URI chuyển hướng chính xác cho Google API và oauth 2.0

Để chỉnh sửa các bảng tổng hợp, tôi cần có quyền truy cập/mã thông báo. Tôi hiện đang cố gắng sử dụng những tập lệnh javascript để thực hiện việc này. ScriptSample.html, oauthWindow.htmlgwt-oauth2.js. Đây là working example.

Khi tôi chạy chúng, tôi gặp lỗi nói rằng redirect_URI không chính xác. Nó nói rằng tập tin tôi sử dụng để chuyển hướng không có thẩm quyền. Câu hỏi rõ ràng đầu tiên của tôi là: Làm cách nào để cấp cho cơ quan đó quyền chuyển hướng?

Trong bảng điều khiển API của mình, tôi đã thiết lập nó làm ứng dụng web phía máy khách. Tôi có nên thay đổi nó thành một ứng dụng đã cài đặt không?

hiện, nguồn gốc javascript của tôi là: https: // localhost

chuyển hướng URI: https: //localhost/oauthWindow.html

Cảm ơn

+2

Bạn có đang sử dụng URI gọi lại cục bộ không? Điều đó có nghĩa là máy chủ OAuth phải gửi phản hồi cho chính nó, điều đó là vô nghĩa. Bạn chắc chắn nên sử dụng một số URL có thể truy cập từ mạng bên ngoài. –

+2

Xin lỗi, tôi đã sai, tôi phải sửa bản thân mình. URI gọi lại chỉ được sử dụng để chuyển hướng trình duyệt của bạn với kết quả ủy quyền, do đó URI gọi lại dựa trên localhost có thể hoạt động theo lý thuyết. Mặt khác, nó có vấn đề bảo mật nghiêm trọng, làm cho toàn bộ phương thức kiểm tra URI gọi lại là vô nghĩa. Kết quả là, bạn vẫn nên cung cấp một cuộc gọi lại có thể truy cập từ bên ngoài. –

+0

Tôi cũng gặp vấn đề với điều này. Đối với một số lý do siêu lạ google đã quyết định rằng url chuyển hướng của tôi, đó là 'https: // something' nên được chuyển đổi thành' http: // something'. Điều này là khủng khiếp vì máy chủ của tôi có yêu cầu nghiêm ngặt đối với ssl/https, không có ngoại lệ. – Automatico

Trả lời

12

Không có vấn đề với việc sử dụng một url localhost cho Dev công việc - rõ ràng nó cần phải được thay đổi khi nói đến sản xuất.

Bạn cần truy cập tại đây: https://developers.google.com/accounts/docs/OAuth2 và sau đó nhấp vào liên kết cho Bảng điều khiển API - liên kết trong phần Cơ bản bước. Khi bạn điền vào mẫu đơn đăng ký mới, bạn sẽ được yêu cầu cung cấp Url chuyển hướng. Đặt vào trang bạn muốn truy cập khi quyền truy cập đã được cấp.

Khi tạo Url Google oAuth - bạn cần phải bao gồm url chuyển hướng - nó phải khớp chính xác hoặc bạn sẽ gặp sự cố. Nó cũng cần phải được UrlEncoded.

+0

Vì vậy, nếu tôi muốn chuyển hướng tại một trang được lưu trữ trên máy cục bộ, hãy nói - localhost: 9090/index.html tôi có cung cấp url chính xác này không? – moaglee

+1

@mystikacid yes. Bạn cũng cần bao gồm phần 'http: //' (giao thức) – PSWai

Các vấn đề liên quan