接收(401)未经授权使用谷歌日历API(Receiving (401) Unauthorized

2019-10-18 08:56发布

我正在为有点问题与谷歌日历API。 我想即使在日历上创建的,但我发现了被困在查询日历服务。 我用这个指南我在CodeProject(发现向导 ),并将其链接到你这个验证指南( 认证指南 )。 我能够撑过第5步的验证指南“的OAuth 2.0流”下,并获得访问令牌和刷新令牌,但是当我试图查询日历服务,我得到这个错误:

“的请求执行失败: https://www.google.com/calendar/feeds/default/allcalendars/full ”,“远程服务器返回一个错误:(401)未经授权”。

我不知道我做错了,我授权用户和具有访问令牌。 所以,我觉得我失去了一些东西小,但我一直在敲打我的头在过去的时间试图弄明白。

这是我使用的代码:

        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;
                //}
            }
        }

任何帮助是极大的赞赏。 谢谢。

文章来源: Receiving (401) Unauthorized with google calendar API