2012-07-04 1 views
16

Google Maps API를 사용하여 응용 프로그램을 만들고 있습니다. 한 사람을 컴퓨터에두고 다른 사람이지도에 편집 한 것을 보길 원합니다. 지도의 정보를 Google Fusion Table에 전달하려고합니다. 다른 사람은 모든 것을 하나의 계층으로 볼 수 있습니다. 프로그램이 사용자의 브라우저에서 실행되고 웹 사이트를 구축하지 않기를 바랍니다.Google API 및 oauth 2.0에 대한 올바른 리디렉션 URI

융합 표를 편집하려면 액세스/토큰을 얻어야합니다. 나는 현재 이것을 달성하기 위해 자바 스크립트 스크립트를 사용하려고하고있다. ScriptSample.html, oauthWindow.htmlgwt-oauth2.js. 이것은 working example입니다.

실행할 때 redirect_URI가 잘못되었다는 오류가 발생합니다. 리디렉션에 사용하는 파일에 권한이 없다고 말합니다. 내 첫 번째 명백한 질문은 : 어떻게 그 파일 권한을 리디렉션 할 수 있습니까?

내 API 콘솔에서는 클라이언트 측 웹 응용 프로그램으로 설정했습니다. 설치된 애플리케이션으로 변경해야합니까?

현재, 내 자바 스크립트 출처는 다음과 같습니다 https : //로 로컬 호스트

리디렉션 URI : HTTPS : //localhost/oauthWindow.html

로컬 호스트 URL의를 사용하여 아무 문제가 없습니다

감사

+2

localhost 기반 콜백 URI를 사용하는 것이 심각한가요? 즉, OAuth 서버는 자체에 응답을 보내야하므로 의미가 없습니다. 외부 네트워크에서 액세스 할 수있는 URL을 사용해야합니다. –

+2

미안하지만, 틀렸어, 나 자신을 바로 잡아야 해. 콜백 URI는 인증 결과와 함께 브라우저를 리디렉션하는 데에만 사용되므로 localhost 기반 콜백 URI가 이론적으로 작동 할 수 있습니다. 반면에 심각한 보안 문제가있어 전체 콜백 URI 검사 방법을 무의미하게 만듭니다. 결과적으로 외부 액세스 가능한 콜백을 제공해야합니다. –

+0

이 문제도 있습니다. 초자연적 인 이유 때문에 Google은 리디렉션 URL 인'https : // something'을'http : // something'로 변환해야한다고 결정했습니다. 이것은 내 서버가 ssl/https에 대한 엄격한 요구 사항을 가지고 있기 때문에 끔찍한 일입니다. 예외는 아닙니다. – Automatico

답변

12

개발 작업 - 생산과 관련하여 분명히 변경해야합니다.

여기에 가야합니다 : https://developers.google.com/accounts/docs/OAuth2 다음 기본 단계 섹션의 API 콘솔 링크 링크를 따르십시오. 새 신청서를 작성하면 리디렉션 URL을 입력하라는 메시지가 표시됩니다. 액세스 권한이 부여되면 이동하려는 페이지를 넣으십시오.

Google oAuth URL을 만들 때 리디렉션 URL을 포함해야합니다. 정확히 일치해야하거나 문제가있을 수 있습니다. 또한 UrlEncoded되어야합니다.

+0

로컬에서 호스팅되는 페이지에서 리디렉션하고 싶다면 - localhost : 9090/index.html과 같이 말하십시오. 정확한 URL을 제공합니까? – moaglee

+1

@mystikacid 예. 'http : //'(프로토콜) 부분도 포함해야합니다. – PSWai