0

PyDriveでInsertPermission()を使用してオプションのクエリパラメータの値を送信することはできますか? PyDriveのドキュメントは、sendNotificationEmailsのようなオプションのパラメータをトグルする方法を無視するようです。PyDriveでInsertPermission()を使用するオプションのクエリパラメータ

通知メールを送信せずに、特定のユーザーのファイルにアクセス許可を追加する必要があります。sendNotificationEmailsはデフォルトでTrueに設定されています。

私は、次の機能のためのfiles.pyの定義を変更すると考えられてきましたが、私はこれが動作するかどうか分からないと前にライブラリを編集していない:

def InsertPermission(self, new_permission): 
    """Insert a new permission. Re-fetches all permissions after call. 

    :param new_permission: The new permission to insert, please see the official Google Drive API guide on permissions.insert for details. 

    :type new_permission: object 

    :return: The permission object. 
    :rtype: object 
    """ 
    file_id = self.metadata.get('id') or self['id'] 
    try: 
    permission = self.auth.service.permissions().insert(fileId=file_id, body=new_permission, sendNotificationEmails=False).execute(http=self.http) 
    except errors.HttpError as error: 
    raise ApiRequestError(error) 
    else: 
    self.GetPermissions() # Update permissions field. 

    return permission 
+0

ライブラリのコードを変更しないでください。フィーチャーリクエストをPyDriveのメンテナに送信し、実装されるまで、あなた自身のプロジェクトに変更されたコードのコピーを持っています。 –

+0

ここにPyDriveのメンテナがいらっしゃいましたら、こちらのバグを開いてください:https://github.com/googledrive/PyDrive/issues。ライブラリをフォークして変更することができます。彼らがうまくいけば、私はメインライブラリにそれらをマージするよりも嬉しいです。 –

答えて

1

オプションのパラメータを指定しています現在可能そうのようなInsertPermission()機能への追加パラメータとして:

file1.InsertPermission({'type': 'user', 
         'value': '[email protected]', 
         'role': 'reader'}, sendNotificationEmails=False) 

使用可能なすべてのパラメータのための公式ドキュメントhereを参照してください。

:この機能のライブラリの開発版をインストールする必要があります(2017年4月現在)。このバージョンのPyDriveは、次のようにインストールできます。

pip install git+https://github.com/googledrive/[email protected]#egg=PyDrive 
関連する問題