我有代码可以从Google的Calendar API检索事件列表。检索到这些事件后,它将根据我拥有的另一个本地列表检查该列表,并使用本地列表中尚未存在的任何内容填充Google日历事件。
第一部分运行完全正常,它将检索访问令牌,然后在请求中使用该令牌来获取事件列表。下一部分,当尝试上载事件时失败,并显示401“无效凭据”错误消息。
我已经检查了控制台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变量与成功请求检索事件之前几秒钟使用的值相同。 (即应该有效。)
指定的“导入”变量基于以下包含的自定义对象模型:
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
}
任何帮助或建议都将受到欢迎,因为我已经对此进行了一段时间的讨论。
答案 0 :(得分:0)
也许您需要像这样request.AddHeader("Authorization", "Bearer " + access_token);