使用API​​创建Google日历活动不会创建环聊链接

Eli*_*Eli 9 google-calendar-api google-api node.js hangout google-oauth

我已经在黑客一起取得成功,到目前为止googleapis,并gapitoken包上创建通过API谷歌日历事件.所有这一切的目的是找到一种方法来以编程方式生成Google Hangout链接,据我所知,您无法通过API执行此操作.根据这篇文章,您应该能够在创建事件时启用自动创建环聊链接,这是我为该帐户所做的.

我正在使用的代码只能从Node.js运行,所以没有面向用户的部分.我使用服务帐户技术通过OAuth2.0进行身份验证.除了创建的事件不包含名为"hangoutLink"的属性外,一切似乎都能正常工作.有任何想法吗?

var moment = require('moment');
var googleapis = require('googleapis');
var GoogleToken = require('gapitoken');
var OAuth2Client = googleapis.OAuth2Client;

var token = new GoogleToken({
    iss: '*******************@developer.gserviceaccount.com',
    scope: 'https://www.googleapis.com/auth/calendar',
    keyFile: './*****************.pem'
}, function (err) {
    if (err) {
        return console.log(err);
    }

    token.getToken(function (err, token) {
        if (err) {
            return console.log(err);
        }

        googleapis.load('calendar', 'v3', function (err, client) {
            var oauthClient = new OAuth2Client('', '', '', {}, {
                token_type: 'Bearer',
                access_token: token
            });

            var now = moment().format();

            client
                .calendar
                .events
                .insert({
                    calendarId: 'primary',
                    resource: {
                        summary: 'hangout',
                        description: 'hangout',
                        reminders: {
                            overrides: {
                                method: 'popup',
                                minutes: 0
                            }
                        },
                        start: {
                            dateTime: now
                        },
                        end: {
                            dateTime: now
                        },
                        attendees: [{
                            email: '****@**********.com'
                        }]
                    }
                })
                .withAuthClient(oauthClient)
                .execute(function (err, event) {
                    // event does not contain hangoutLink
                    console.log(event.hangoutLink);
                });
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

Bur*_*gan 0

显式设置身份验证客户端的凭据:

var oauthClient = new OAuth2Client('', '', '');
oauthClient.credentials = {
  token_type: 'Bearer',
  access_token: token
};
Run Code Online (Sandbox Code Playgroud)