管理API

时间:2018-01-29 08:32:19

标签: javascript google-analytics google-api google-analytics-api user-management

我正在制作一个信息中心,可以向我显示用户有权访问的所有Google Analytics帐户的用户。

到目前为止,我已经能够检索帐户的所有用户,但它还列出了过去2个月内已被删除的用户。 用户列在restful api和javascript api上,但在google analytics中使用内置用户管理仪表板时未列出。

我已尝试使用文档示例界面:Account User link以及具有相同结果的javascript api。

管理API的结果是否已缓存,如果是,我可以强制更新它们吗?

以下代码:

function queryAccounts() {
    return gapi.client.analytics.management.accountSummaries.list();
}

function queryUsers(accountId) {
        const handle_paging = (res, items) => {
            if (res.result.nextLink !== undefined) {
                return gapi.client.analytics.management.accountUserLinks.list({
                    accountId: accountId,
                    startIndex: res.result.itemsPerPage + res.result.startIndex
                }).then(
                    page_res => handle_paging(page_res, items.concat(res.result.items)),
                    page_err => {
                        console.error(page_err);
                        return items;
                    });
            } else {
                return items.concat(res.result.items);
            }
        }

        return gapi.client.analytics.management.accountUserLinks.list({ accountId: accountId }).then(
            res => handle_paging(res, []),
            err => {
                console.error(err);
                return [];
            }
        )
    }

    function queryUsersAllWebProperties(accountId) {
        const handle_paging = (res, items) => {
            if (res.result.nextLink !== undefined) {
                return gapi.client.analytics.management.webpropertyUserLinks.list({
                    accountId: accountId,
                    webPropertyId: "~all",
                    "start-index": res.result.itemsPerPage + res.result.startIndex
                }).then(
                    page_res => handle_paging(page_res, items.concat(res.result.items)),
                    page_err => {
                        console.error(page_err);
                        return items;
                    });
            } else {
                return items.concat(res.result.items);
            }
        }

        return gapi.client.analytics.management.webpropertyUserLinks.list({
            accountId: accountId,
            webPropertyId: "~all"
        }).then(
            res => handle_paging(res, []),
            err => {
                console.error(err);
                return [];
            });
    }

1 个答案:

答案 0 :(得分:0)

Account user links列出有权访问帐户的用户Profile user links列出有权访问个人资料的用户。用户无权访问帐户即可访问配置文件。默认情况下,有权访问帐户的用户可以访问所有配置文件。

我认为您应该检查Google分析,并查看从帐户级别或个人资料级别删除用户的确切位置。谷歌api返回存在的数据,它不会缓存数据或从任何其他地方读取数据。我建议有问题的用户尚未从帐户中删除。