2013-10-08 1 views
0
내가 사용

,Google 캘린더 닷넷 API의 V3 도메인에 대한 위임

asp.net 4.0, 구글 캘린더 API를 V3 창문 IIS 6.0 2003 R2 웹 서버와 환경과 우리는 우리 자신의 허가 Google 도메인이

내 앱은 많은 사람들의 Google 캘린더에 액세스하고 이전에 V2를 사용했고 소비자 키 및 소비자 비밀번호로 작업했던 이벤트를 추가/삭제/업데이트해야합니다. 현재 내 코드는 V3 버전으로 이전되며 API 키와 암호화 된 키 파일을 사용하는 서비스 계정 유형을 사용하고 있기 때문에 작동합니다. 하지만 제 고객은별로 관심이 없으며 OAuth 2.0과 유사한 버전 V2 인증을 찾고 있습니다.

내 질문 그래서 한 번만 인증에 V2와 같은 일을 해야하는 사용자의 무리에 대한 모든 작업을 수행 V3와 서비스 계정 이외의 최선의 접근 방법은 무엇입니까?

덕분에, MVM

답변

0

당신은 달력의 API V3 및 웹 인증을 사용할 수 있습니다. 이 경우 웹 페이지는 사용자 동의 화면으로 리디렉션되고 최종 사용자는 요청을 승인해야합니다.

using System; 
using System.Threading; 
using System.Threading.Tasks; 

using Google; 
using Google.Apis.Auth.OAuth2; 
using Google.Apis.Calendar.v3; 
using Google.Apis.Calendar.v3.Data; 
using Google.Apis.Services; 

namespace Calendar.Sample 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      UserCredential credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
       new ClientSecrets 
       { 
        ClientId = "CLIENT_ID_HERE", 
        ClientSecret = "CLIENT_SECRET_HERE", 
       }, 
       new[] { CalendarService.Scope.Calendar }, 
       "user", 
       CancellationToken.None).Result; 

      // Create the service. 
      var service = new CalendarService(new BaseClientService.Initializer() 
      { 
       HttpClientInitializer = credential, 
       ApplicationName = "Calendar API Sample", 
      }); 

      ... 
     } 
    } 
}