2015-01-06 2 views
2

웹용 Visual Studio Express 2012에 웹 사이트가 있습니다.Google 캘린더 redirect_uri_mismatch

private void getEvents() 
    { 
     UserCredential credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
       new ClientSecrets 
       { 
        ClientId = "CLIENTIDHERE", 
        ClientSecret = "SECRETHERE", 
       }, 
       new[] { CalendarService.Scope.Calendar }, 
       "user", 
       CancellationToken.None).Result; 

     // Create the service. 
     var service = new CalendarService(new BaseClientService.Initializer() 
     { 
      HttpClientInitializer = credential 
     }); 

     List<Event> x = service.Events.List("primary").Execute().Items.ToList(); 
    } 

이미 기본 포트 설정을 시도했다 :

은 내가 아래 코드하려고 할 때 개발자 콘솔에 나열된 리디렉션 URI의의 일치가 아니다라고 구글에서 오류가 계속 위에서 언급 한

http://localhost:8080/QFC/Coach/Manageusers.aspx 

http://localhost:8080/QFC/* 

http://localhost:8080/oauth2callback 

http://localhost:8080/oauth2callback/ 

http://localhost:8080/authorize 

http://localhost:8080/authorize/ 

http://localhost:8080/signin-google 

코드는 페이지로드 http://localhost:8080/QFC/Coach/Schedule.aspx에서 호출 다음과 같이 비주얼 스튜디오와 URI의 내 개발자 콘솔에 나와있는 8080에 있습니다. 오류가 발생할 때마다 포트 번호가 달라지며 이유가 없습니다. 예 : http://localhost:57002/authorize/이 일치하지 않는 나는 내가이 일을 어떻게 해결하는 왜 알 필요가 C#

으로 .NET API를 사용하고

등록.

+1

Visual Studio를 디버그 모드로 실행하면 포트가 변경됩니다. 포트를 변경하지 않도록 설정하는 방법을 알아야합니다. – DaImTo

+1

나는 그것을 너무 많이 알아 차렸다. http : // localhost/authorize /를 uris 목록에 추가하여 수정했다. 감사! – msbarnard

+0

자신의 대답을 수락하는 것을 잊지 마세요. (시간이 허락 할 때) – RvdV79

답변

2

허용 된 URI 목록에 http://localhost/authorize/이 추가되었습니다. 이것은 어떻게 든 구글 검증을 포트를 무시하게 만든다. 그러나 그것은 작동합니다!

+0

동일한 문제가있어서 많은 다른 URI도 추가하려고했습니다 : // localhost/authorize. 문제는 포트가 항상 변경되고 Google이이를 무시하지 않는다는 것입니다. 프로젝트에 Google 용 OAuth2 인증 서비스도 구성 했습니까? –

+0

아니요 ... 저는이 문제로 오랫동안 고심하고, 허용 된 URI의 목록에이 행을 추가했습니다. 나는 아무것도하지 않았다. – msbarnard

+1

생명의 은인! 무의미한 디버깅을 오후에 해 주셨습니다! – PoeHaH