我在使用 Google Calendar API 时遇到了一些问题。我正在尝试在日历上创建一个偶数,但我在查询日历服务时遇到了困难。我正在使用我在 codeproject ( Guide ) 上找到的本指南,它将您链接到此身份验证指南 ( Authentication Guide )。我能够通过身份验证指南上的“OAuth 2.0 流程”下的第 5 步,并获得访问令牌和刷新令牌,但是当我尝试查询日历服务时,出现此错误:
"请求执行失败:https ://www.google.com/calendar/feeds/default/allcalendars/full ", "远程服务器返回错误:(401) Unauthorized。"
我不确定我做错了什么,我授权了用户并拥有访问令牌。所以我认为我错过了一些小东西,但过去一天我一直在努力解决这个问题。
这是我正在使用的代码:
Google.GData.Client.GAuthSubRequestFactory authFactory = new Google.GData.Client.GAuthSubRequestFactory("cl", "API Project");
authFactory.Token = "ya29...";
authFactory.KeepAlive = true;
Google.GData.Calendar.CalendarService service = new CalendarService("API Project");
service.RequestFactory = authFactory;
Uri postUri = new Uri(AllCalendarFeed);
Google.GData.Calendar.CalendarQuery CalendarQuery = new Google.GData.Calendar.CalendarQuery();
CalendarQuery.Uri = postUri;
//Errors out on this line:
Google.GData.Calendar.CalendarFeed calFeed = service.Query(CalendarQuery);
string CalendarID = "";
if (calFeed != null && calFeed.Entries.Count > 0)
{
foreach (CalendarEntry CalEntry in calFeed.Entries)
{
//Commented to post the new appointments
//on the main calendar instead of cleverfox calendar
//if (CalEntry.Title.Text.Contains("Cleverfox") == true)
//{
//CalendarID = CalEntry.Title.Text;
CalendarID = CalEntry.EditUri.ToString().Substring(CalEntry.EditUri.ToString().LastIndexOf("/") + 1);
break;
//}
}
}
任何帮助是极大的赞赏。谢谢你。