는 가장 할 사용자를 설정하는 데 사용할 수있는 옵션라는 이름의 인수 impersonatedUser
있습니다.
가 [email protected] 다음과 같습니다 관리자 사용자를 대신하여, 서비스 계정으로 Google Apps 도메인의 관리자 SDK 디렉토리 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));
});
});
}
https://pub.dartlang.org/packages/dart_jwt를 사용할 수 있습니다 (예 : https://pub.dartlang.org/packages/shelf_auth_session에서 사용) –
Google Apps에는 클레임 세트에 하위 필드가 있어야합니다. 관리자의 이메일 주소. 이 패키지에 포함시킬 방법을 찾을 수 없습니다. 어쩌면 내가 뭔가를 놓친거야? 감사합니다 –
당신은 아무것도 놓치지 않았습니다. 서비스 계정 자격 증명을 만들면 사용자가 클레임의 하위 필드를 가장하여 채우도록 설정할 수 없습니다. 나는 [Issue 15] (https://github.com/dart-lang/googleapis_auth/issues/15)를 제출했습니다 – sgjesse