나는 nodejs 라이브러리를 사용하여 Google 리셀러 API에 액세스하려고합니다 . 여기 예제를 따라 시도했지만 이 오류로 3 단계에서 실패했습니다.
code: 403,
errors: [
{
domain: 'global',
reason: 'insufficientPermissions',
message: 'Authenticated user is not authorized to perform this action.'
}
]
내 구성은 다음과 같습니다.
const OAUTH2_SCOPES = [
"https://www.googleapis.com/auth/admin.directory.user",
"https://www.googleapis.com/auth/apps.order",
"https://www.googleapis.com/auth/siteverification",
"https://www.googleapis.com/auth/cloud-platform",
];
const authJWT = new google.auth.JWT({
keyFile: JSON_PRIVATE_KEY_FILE,
scopes: OAUTH2_SCOPES,
subject: RESELLER_ADMIN_USER,
email: "gsuite-reseller@some-cool-name-because-why-not.iam.gserviceaccount.com",
});
기본 Google fu를 사용하여이 스레드를 찾았 는데, 이는 내 문제가 가장과 관련이 있음을 시사했습니다. 그래서 나는 subject
소유주 권한이 지정된 계정 이메일로 부동산 의 이메일을 교환했습니다 . 나는 또한 서비스 계정 소유자 권한을 부여했습니다. 그 시점에서 나는 꽤 단서가 없기 때문입니다. 이것은 불행히도 오류 메시지를 다음과 같이 변경했습니다.
status: 401,
statusText: 'Unauthorized'
아무도 무엇이 잘못되었는지 알고 있습니까? (401)는 실종 자격이 있다는 것을 시사한다. 서비스 계정 외에 내 개인 이메일 자격 증명도 지정해야합니까? 그렇다면 어디? 나는 google.auth.JWT.options
유망하게 들리는 물건에 대한 어떤 재산도 찾지 못했습니다 .
domain-wide delegation
은 서비스 계정이 사용자를 나타내도록 허용하는 것입니다.subject
를 설정 하면 오류가 발생합니다.참조 :
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다