5

Googleカレンダーの特定のカレンダーにイベントを追加しようとしていますが、方法がわかりません。これが私のコードです:

        CalendarService service = new CalendarService("MyTEst");
        service.setUserCredentials("Username", "Password");
        EventEntry entry = new EventEntry();

        // Set the title and content of the entry.
        entry.Title.Text = "title";
        entry.Content.Content = "test";

        // Set a location for the event.
        Where eventLocation = new Where();
        eventLocation.ValueString = "Location";
        entry.Locations.Add(eventLocation);

        When eventTime = new When(DateTime.now, DateTime.now.AddDays(2));
        entry.Times.Add(eventTime);

        Uri postUri = new Uri("http://www.google.com/calendar/feeds/default/private/full");

        // Send the request and receive the response
        AtomEntry insertedEntry = service.Insert(postUri, entry);

誰かがこれで私を助けることができますか?

編集

たぶん、この機能は、ランデブーとメモをグーグルカレンダーに簡単に追加したいサイトの管理者だけがアクセスできるので、「ハードコードされた」値で自動的に認証されたので、ユーザー名とパスワードはわかった。

4

1 に答える 1

6

コードは、指定したユーザー名とパスワードのデフォルトのGoogleカレンダーで機能しています。(つまり、username @ gmail.comのデフォルトのカレンダーを使用しています)URIが「/ feed / default / private」を指しているため、これを確認できます。イベントを別のカレンダーに投稿する場合は、ユーザー名がそのカレンダーへの投稿を許可されている必要があり、そのカレンダーにプライベートURIを投稿する必要があります。

編集:このプライベートURLのデフォルトの形式は「http://www.google.com/calendar/feeds/CALENDAR_ID/private/full」です

カレンダーIDを見つけるには、Googleカレンダーのカレンダー設定ページの次のカレンダーアドレスです。これは次のように表示されます。

"***************************@group.calendar.google.com"

最終的なURLは次のようになります。

編集: " http://www.google.com/calendar/feeds/ ***************************@group.calendar.google .com / private / full "

これはあなたに行きますUri postUri = new Uri();

編集:

私の間違いは、秘密という言葉の後に秘密鍵も含める必要があると言ったことです。実際にこれを行う必要はありません。秘密鍵を削除することで、セカンダリカレンダーに正常に投稿できることを確認しました。

于 2010-01-27T21:18:49.843 に答える