Gapi Client.load:一种加载多个api内容的更干净的方法?

时间:2019-11-14 19:20:54

标签: javascript google-cloud-platform google-calendar-api google-admin-sdk

function loadClient() {
                gapi.client.setApiKey("my_apikey");
                return gapi.client.load(
                        "https://content.googleapis.com/discovery/v1/apis/admin/directory_v1/rest"
                        )
                        .then(function () {
                            console.log("GAPI client loaded for API");
                        },
                                function (err) {
                                    console.error("Error loading GAPI client for API", err);
                                });
            } 
function makeApiCall() {
                gapi.client.setApiKey("my_apikey");
                return gapi.client.load(
                        "https://content.googleapis.com/discovery/v1/apis/calendar/v3/rest"
                        )
                        .then(function () {
                            console.log("GAPI client loaded for API");
                            makeApiCall2();
                        },
                                function (err) {
                                    console.error("Error loading GAPI client for API", err);
                                });


                function makeApiCall2() {
                    return gapi.client.calendar.events.list({
                        'calendarId': resourceemail
                    })
                            .then(function (response) {
                                // Handle the results here (response.result has the parsed body).
                                console.log("Response", response);
                            },
                                    function (err) {
                                        console.error("Execute error", err);
                                    });
                }
            }

你好!我是堆栈溢出的新手,我只想问一个简单的问题。我使用API​​调用的时间还不够长,这仅适用于我正在完成的项目。这些代码段在我的项目中为我工作,以加载两个不同的api“ calendar”和“ adminsdk directory api”。我最初是从admin sdk收到有关日历消息的响应,其中包括房间。我正在使用的网络中的每个房间都有一个房间日历,我可以为其获取ID。然后,我尝试从API调用中获得有关会议室日历事件的响应。一切正常,一切都很好。但是,当我认为这些只是javascript库时,我不得不使用两次代码“ gapi.client.load”。在最初的加载客户端(第一个代码段)中,是否可以加载两个内容?如:

function loadClient() {
                gapi.client.setApiKey("my_apikey");
                return gapi.client.load(
                        "https://content.googleapis.com/discovery/v1/apis/admin/directory_v1/rest",
"https://content.googleapis.com/discovery/v1/apis/calendar/v3/rest"
                        )
                        .then(function () {
                            console.log("GAPI client loaded for API");
                        },
                                function (err) {
                                    console.error("Error loading GAPI client for API", err);
                                });
            } 

0 个答案:

没有答案