1

我正在尝试使用 API 创建一个谷歌日历事件...但是在尝试创建事件时出现错误..我成功获取访问令牌但无法创建日历事件...

请帮助我从过去 2 天开始尝试解决这个问题......我认为这是一些许可问题......我正在使用以下范围。

任何帮助将不胜感激。

字符串范围=' https://www.googleapis.com/auth/calendar ';

            Http h = new Http();
            string calendarId='a@b.com';
            string url='https://www.googleapis.com/calendar/v3/calendars/'+calendarId+'/events';
            string body='{"end":{"date": "2013-06-21"},"start":{"date": "2013-06-20"}}';
            HttpRequest req=new HttpRequest();
             System.debug('-----accesstokenvvvvvvvv---'+accesstoken);
            req.setHeader('Authorization','Bearer '+accesstoken);
            req.setHeader('Content-Type', 'application/json');
            req.setEndpoint(url);
            req.setBody(body);
            System.debug('-----body---'+body);
            req.setMethod('POST');
            HttpResponse res;
            res = h.send(req);
            string data=res.getBody();
            System.debug('--------data----'+data);

我收到错误响应

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "insufficientPermissions",
    "message": "Insufficient Permission"
   }
  ],
  "code": 403,
  "message": "Insufficient Permission"
 }
}
4

1 回答 1

0

问题(我假设)是您尚未在远程站点设置下注册您的 API。尽管 Google 与 salesforce.com 关系密切,但您仍然需要执行 Http CallOuts。

-Setup
-Security Controls -Remote
Site Settings

在这里只需添加一个新的远程站点并提供端点的远程站点 URL。在您的情况下,它只是“ https://www.googleapis.com ”。

如果此响应速度很慢,我建议使用https://salesforce.stackexchange.com发布问题和搜索答案。在那里,您会发现更多 APEX 和销售人员开发人员。

希望这可以帮助!

于 2014-12-21T21:55:44.200 回答