Календарь Google: 401 неверных учетных данных на определенных конечных точках API - PullRequest
0 голосов
/ 11 апреля 2019

У меня есть код для получения списка событий из Google Calendar API. После получения этих событий он сравнивает список с другим имеющимся у меня локальным списком и заполняет события из Календаря Google любым из локального списка, которого там еще нет.

Первая часть работает полностью нормально, где она извлекает токен доступа, а затем использует этот токен в запросе для получения списка событий. Следующая часть, когда он пытается загрузить событие, завершается неудачей, с сообщением об ошибке 401 «Invalid Credentials».

Я проверил все в консольном API, чтобы убедиться, что Календарь Google включен как API, и что там все настроено правильно. Я проверил документацию API, чтобы убедиться, что я определенно использую правильную область в своем запросе аутентификации для пост-запроса API для отправки события в GCal.

На данный момент я не уверен, что это проблема с запросом, а сообщения просто вводят в заблуждение, или проблема действительно в авторизации, и я просто что-то упускаю полностью.

request = new RestRequest("/calendars/"+calID+"/events", Method.POST);
request.AddParameter("access_token", access_token);
request.AddJsonBody(import);

IRestResponse<GCalEvent> inner_response = client.Execute<GCalEvent>(request);

В приведенном выше коде переменная access_token - это то же значение, которое использовалось за несколько секунд до этого в успешном запросе для получения событий. (т.е. это должно быть действительным.)

Указанная переменная "import" основана на пользовательской объектной модели, включенной ниже:

public class GCalEvent
{
   public string id { get; set; }
   public string status { get; set; }
   public string htmlLink { get; set; }
   public DateTime created { get; set; }
   public DateTime updated { get; set; }
   public string summary { get; set; }
   public string description { get; set; }
   public string start { get; set; } // yyyy-MM-dd
   public string end { get; set; } // yyyy-MM-dd
}

Любая помощь или предложения будут приветствоваться, так как я уже давно об этом зашла.

1 Ответ

0 голосов
/ 11 апреля 2019

возможно вам нужно добавить свой токен доступа вот так request.AddHeader("Authorization", "Bearer " + access_token);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...