Python 用の Google API クライアント ライブラリから始めます。Drive API で開発しています。Web アプリケーションを非推奨の Document List API v3 から Drive API V2 に移行しています。
BatchHttpRequest を介してドキュメントにいくつかのアクセス許可を追加すると、これらのアクセス許可の 1 つだけがドキュメントに効果的に追加されます。その他は無視されます。
サンプルコードの下:
def callback(request_id, response, exception):
if exception is not None:
logger.debug(exception)
else:
logger.debug(response)
batch = BatchHttpRequest(callback) # from apiclient.http
batch.add(drive_client.permissions().insert(body=permission_1))
batch.add(drive_client.permissions().insert(body=permission_2))
...
batch.add(drive_client.permissions().insert(body=permission_n))
batch.execute()
ユーザー権限のみが追加されます。デフォルトのエントリ (「anyone」) は無視されます。応答は常にログに記録されるため、すべて正常に実行されているようです。
各呼び出しを個別に実行すると、すべての権限が追加されます。