我想使用谷歌的REST API访问公共日历。
Google的日历API建议我需要OAuth令牌才能访问日历:
https://developers.google.com/google-apps/calendar/auth
然而,我正在访问一个公共日历,并且正在服务器上执行此操作,因此不能/不应该要求用户进行身份验证。
我使用node.jsapi:
googleapis
.discover('calendar', 'v3').execute(function(err, client) {
client.calendar.calendars.get({ calendarId: '***@group.calendar.google.com' })
.execute(function (err, response) {
console.log('response from google', response);
});
});
这将返回“您的客户端发出了一个格式错误或非法的请求。这是我们所知道的全部信息。”
正在呼叫。在
返回相同的错误。.calendals之后使用ApiKey('***')
。get()
有什么建议吗?
正如留档不止一次声明的那样
所有对Google Calendar API的请求都必须由经过身份验证的用户授权。
因此,如果您想使用google日历API,您需要一个经过身份验证的用户。这可以使用Passport.js和Passport-google-oauth等模块轻松实现。
但是,如果您可以暂时抛开API并
你可以通过ical、xml或html轻松抓取公共地址和消费日历。看看英国假日公共日历:http://imgur.com/UGjPtqp
您可以从以下位置公开访问数据:
此时,使用节点获取这些资源并获得所需的数据是很简单的。
哦,来吧,伙计们!您可以在没有 OAuth 的情况下获取数据,而无需用户登录,只要日历设置为公共!我自己测试过。
$.ajax({
url:"https://www.googleapis.com/calendar/v3/calendars/" + cal_id + "/events?key=" + api_key,
success: function(data) {
console.log(data);
}
});
试试吧。
文档位于https://developers . Google . com/Google-apps/calendar/v3/reference/events/list # examples
我正在阅读以前Office 365共享日历的问题 使用Oauth进行身份验证的用户现在可以访问共享日历了吗? 基本上,我尝试使用“OAuth2客户端凭据流”来实现一个服务,但是我希望只有当日历与使用rest api调用的特定用户共享时才能访问该日历:https://outlook.office365.com/api/v1.0/Users/"电子邮件id/calendar groups/" "其他日
我正在创建一个Node JS(Express)web应用程序,一旦用户登录,它将显示用户的Google日历事件。 将有多个用户,名称和电子邮件地址等数据存储在数据库中。 用户登录后,如何在不需要任何其他用户输入的情况下检索与用户关联的Google日历事件? 我在这里实现了Google的快速入门示例https://developers.google.com/google-apps/calendar/
我想访问日历RestAPI。我已经创建了azure多租户应用程序,并对其进行了配置。 我尝试获取对资源“https://outlook.office365.com/”的访问令牌,但出现错误 “AADSTS50001:资源'https://outlook.office365.com/'已禁用。 注意:我在azure帐户的“其他应用程序的权限”部分中找不到“Office 365 Exchange On
我们正在尝试使用EWS管理的应用编程接口集成办公365。我们使用办公365管理中心创建了一个具有模拟角色的服务号。现在,我们如何使用该服务号访问应用程序中其他用户的数据(如邮件、联系人、日历)?谢谢,罗希特
如何知道使用Exchange EWS API共享了哪个日历。
我从https://github . com/microsoftgraph/NodeJS-apponlytoken-rest-sample下载了NodeJS代码,并授予了所需的所有权限(在所有邮箱中读写日历,在Microsoft Graph应用程序权限中读取目录数据应用程序权限)。 我可以成功获取添加到Azure AD的所有用户,但我无法获取他们的任何日历信息或创建事件(这是示例中的原始代码)。我