我想授权使用服务帐户访问Google Apps域中的Admin SDK Directory API。据我了解,它需要一个带有子字段的JWT声明,而我在pub包googleapis_auth(0.2.2)中找不到该声明。
如果丢失:
有解决方法吗?它将包含在将来的版本中吗?
目前,我正在与安装的应用程序进行用户授权(管理员帐户)授权的相处,但这有点乏味...
对于版本0.2.3googleapis_auth
的构造函数,其ServiceAccountCredentials
具有可选的named参数impersonatedUser
,可用于将用户设置为模拟对象。
代表管理员用户[email protected]使用Google Apps域中的带有服务帐户的Admin SDK Directory API列出所有用户的代码如下:
import 'package:googleapis/admin/directory_v1.dart';
import 'package:googleapis/drive/v2.dart';
import 'package:googleapis_auth/auth_io.dart';
final credentials = new ServiceAccountCredentials.fromJson({
"private_key_id": "<please fill in>",
"private_key": "<please fill in>",
"client_email": "<please fill in>",
"client_id": "<please fill in>",
"type": "service_account"
}, user: '[email protected]');
const SCOPES = const [AdminApi.AdminDirectoryGroupScope,
AdminApi.AdminDirectoryUserScope];
void main() {
clientViaServiceAccount(credentials, SCOPES).then((http_client) {
var admin = new AdminApi(http_client);
admin.users.list(domain: 'domain.com').then((Users users) {
users.users.forEach((user) => print(user.name.fullName));
});
});
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句