在Chrome扩展/应用程序中,要从G Suite中检索当前登录用户的组织单元,可以通过使用Google的G Suite Admin SDK来实现。以下是一种可能的实现方法:
"oauth2": {
"scopes": [
"https://www.googleapis.com/auth/admin.directory.user.readonly"
]
}
<script src="https://apis.google.com/js/client.js"></script>
function authenticate() {
return gapi.auth2.getAuthInstance()
.signIn({ scope: "https://www.googleapis.com/auth/admin.directory.user.readonly" })
.then(function() { console.log("Sign-in successful"); },
function(err) { console.error("Error signing in", err); });
}
function loadClient() {
gapi.client.setApiKey('YOUR_API_KEY');
return gapi.client.load("https://content.googleapis.com/discovery/v1/apis/admin/directory_v1/rest")
.then(function() { console.log("G Suite Admin SDK client loaded for API"); },
function(err) { console.error("Error loading G Suite Admin SDK client for API", err); });
}
function execute() {
return gapi.client.admin.users.get({ 'userKey': 'me' })
.then(function(response) {
var organizationUnit = response.result.orgUnitPath;
console.log("Organization Unit:", organizationUnit);
},
function(err) { console.error("Error retrieving organization unit", err); });
}
gapi.load("client:auth2", function() {
gapi.auth2.init({ client_id: 'YOUR_CLIENT_ID' });
});
注意:在上述代码中,需要替换YOUR_API_KEY和YOUR_CLIENT_ID为您自己的API密钥和客户端ID。
<button onclick="authenticate().then(loadClient).then(execute)">Retrieve Organization Unit</button>
这样,当用户点击按钮时,扩展/应用程序将执行身份验证、加载G Suite Admin SDK客户端,然后检索当前登录用户的组织单元信息,并将其打印到浏览器的控制台中。您可以根据需要进一步处理这些信息。
请注意,上述代码仅作为示例,您可能需要根据自己的具体情况进行适当的修改和调整。此外,请确保已正确设置和配置G Suite Admin SDK,并具有相应的权限和凭据来访问组织单元信息。
领取专属 10元无门槛券
手把手带您无忧上云