を使用してOauthカスタムスキーマを使用してユーザーにパッチを適用できません。Google Oauth2サービスアカウントを使用してカスタムユーザーフィールドにパッチを適用しようとしましたが、委任すれば403 Unauthorized自分以外のユーザー。代理ユーザーG-Suite Admin SDK Python
私は事実上、次の文書の案内を受けています。私は一時的にこの委任されたユーザー([email protected])スーパー・ユーザ権限を与えてくれたが、問題が解決しない、離れて実際の名前から実際に、私は差別何かを見つけることができません https://developers.google.com/api-client-library/python/auth/service-accounts#jwtsample
自分自身のアカウントで、実際のスキーマ「customPermissions」のパーミッションに関連していると思われます。
(委任されたユーザーには、サービスアカウントのサービスアカウントの俳優である)私のテストコードは次のように私のカスタムスキーマがある...
from __future__ import print_function
import json
import os
import httplib2
from httplib2 import Http
from json import dumps
from apiclient import discovery
from httplib2 import Http
from oauth2client.service_account import ServiceAccountCredentials
headers = {}
scopes = ['https://www.googleapis.com/auth/admin.directory.user',
'https://www.googleapis.com/auth/admin.directory.userschema']
credentials = ServiceAccountCredentials.from_json_keyfile_name('service-account.json', scopes=scopes)
# Service account actor - Valid Google user but not a real person.
account_sub = '[email protected]'
delegated_credentials=credentials.create_delegated(account_sub)
httplib2.debuglevel=3
http = delegated_credentials.authorize(Http())
service = discovery.build('admin', 'directory_v1', http=http)
# Prove we can get some users ...
results = service.users().list(customer='<redacted>', maxResults=10, orderBy='email').execute()
users = results.get('users', [])
# Prove we can update schema for a particular user
schema = dumps({'customSchemas':{'pugme':{'customPermissions':[{'value':'role1'},{'value':'role2'}],'realName':'Mike Kirk'}}})
headers['Content-Type']="application/json; charset=UTF-8"
resp = http.request('https://www.googleapis.com/admin/directory/v1/users/[email protected]?projection=full', "PATCH", body=schema, headers=headers)
print(resp)
です。
custom_schema = {
"fields": [
{
"fieldName": "customPermissions",
"fieldType": "STRING",
"multiValued": True
},
{
"fieldName": "realName",
"fieldType": "STRING"
}
],
"schemaName": "pugme",
}
おかげでマイク
良いスポット:それはまた、属性フィールドにreadAccessTypeを変更する価値があるかもしれません!ユーザーのパスワードをリセットしました(まだ一時的でした)。 次の課題は、SuperAdminからカスタムAdminロールに権限を引き下げようとすることです。 User&Schema Managementの権限で十分であると期待していましたが、おそらくこれらのカスタム属性を設定する特権は公開されていませんか? –