如何使用c#.net从gmail下载日历
本文关键字:gmail 下载 日历 net 何使用 | 更新日期: 2023-09-27 18:16:19
我正在开发桌面电子邮件应用程序。我想下载Gmail日历。使用下面的代码可以正常工作。但从几天前开始,它就不起作用了。我提到了一些例子,但我没有得到结果。这是我现有的代码。
public static object GoogleCalenderData(string AccUser, string Pass)
{
//Create a CalenderService and authenticate
CalendarService service = new CalendarService("appname");
service.setUserCredentials(AccUser, Pass);
EventQuery query = new EventQuery()
{
Uri = new Uri(String.Format("http://www.google.com/calendar/feeds/{0}/private/full", service.Credentials.Username)),
StartTime = DateTime.Now
};
EventFeed myResultsFeed = service.Query(query);
var googleEvents = myResultsFeed.Entries.Cast<EventEntry>();
string val = string.Empty;
val = string.Empty;
foreach (var googleEvent in googleEvents)
{
val += "Title: " + googleEvent.Title.Text;
val += "'n";
val += "Contents =" + googleEvent.Content.Content;
val += "'n";
val += "Location = " + googleEvent.Locations.First().ValueString;
val += "'n";
val += "StartTime = " + googleEvent.Times.First().StartTime;
val += "'n";
val += "EndTime = " + googleEvent.Times.First().EndTime;
val += "'n";
}
return val;
}
下面的代码使用登录名和密码(ClientLogin)。你不能再使用登录和密码来访问谷歌api,据我所知,它是在2015年5月关闭的,当你说它直到几天前才开始工作时,我很惊讶。
service.setUserCredentials(AccUser, Pass);
你应该使用oauth2,当你在它你应该切换到谷歌日历API的用户版本,而不是使用旧的gData版本。