2016-04-13 25 views
0

私はこの話題を研究するのに、私が認めているよりもはるかに多くの時間を費やしましたが、指示は私にとって信じられないほど複雑です。私は、ユーザが1日を選択して、その日に彼/彼女が持っているかもしれないイベントを入力することができるカレンダーGUIを備えたプログラムを開発しています。完了したら、自分が作成したGoogleカレンダーにユーザーのデータをインポートできます。これどうやってするの?できれば、私は学生であってプロフェッショナルではないので、簡潔な答えを大いに感謝します。ありがとうございました!Visual Studioを使用してGoogleカレンダーのAPIに接続するにはどうすればよいですか?

+1

まだ試しましたか?あなたが試みているなら(それがいかに醜いものであっても)投稿し、特定の質問をしてください。 –

+0

[googleデベロッパーのウェブサイト](https://developers.google.com/google-apps/calendar/quickstart/dotnet#prerequisites)でC#のコードが見つかりました。何が問題になっていますか? – Caperneoignis

答えて

1

Googleにはlibrary in .NET to connect to Calendarがあります。

documentation hereがあり、API's documentation itself hereがあります。

an example hereが見つかります。

+0

これは大変役に立ちますが、これらの手順はコンソールベースのアプリケーション用ですが、私はWindowsフォームアプリケーションを使って作業しています。 GUIでこの作業を行う方法はありますか? – Zach

0

Googleカレンダーの統合をASP.NET MVCアプリケーションに追加するには、Google Calendar API .NET Quickstart Guideに従うことができました。

基本的に、あなたはGoogle Developer's Consoleから認証ファイル(JSONまたはP12のいずれか)をダウンロードして、証明書を作成するためにそれを使用する必要があります。開発者のコ​​ンソールのデフォルト設定では

using (var stream = new FileStream("client_secret.json", FileMode.Open, FileAccess.Read)) 
{ 
    string credPath = @"/location/to/store/credentials" 
    UserCredential credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
    GoogleClientSecrets.Load(stream).Secrets, 
    CalendarService.Scope.Calendar, 
    "user", 
    CancellationToken.None, 
    new FileDataStore(credPath, true)).Result; 
} 

新しいユーザーからの許可が必要になるたびにOAuth 2.0認証ポップアップを起動することになります。彼らはその画面にあなたの許可を与える場合は、CalendarServiceオブジェクトを許可する資格情報を使用します。

// Create Google Calendar API service. 
var service = new CalendarService(new BaseClientService.Initializer() 
{ 
    HttpClientInitializer = credential, 
    ApplicationName = "Your Cool Calendar Application", 
}); 

サービス、あなたはあなたがしているユーザーのために/読み取り/更新/削除要求を作成、実行することができますあなたはthe API documentationで別のGoogleカレンダーオブジェクトのために使用可能なイベントについての詳細情報および.NETラッパーの詳細情報を見つけることができ

Event newEvent = new Event() 
{ 
    Summary = "new event", 
    Start = new EventDateTime() 
    { 
     DateTime = DateTime.Parse("2016-07-11T09:00:00"), 
     TimeZone = "America/Los_Angeles" 
    }, 
    End = new EventDateTime() 
    { 
     DateTime = DateTime.Parse("2016-07-11T10:00:00"), 
     TimeZone = "America/Los_Angeles" 
    } 
}; 

Event createdEvent = service.Events.Insert(newEvent, "primary").Execute(); 

here:現在で認証(ただし、.NETの例は完全ではありませんが、あなたはSOを見ているほうがいい)。これらのオブジェクトは、アプリケーションのどこからでも作成できます。

関連する問題