Python是否可以在不使用浏览器身份验证的情况下与OneDrive连接?

时间:2019-06-13 13:07:34

标签: python authentication onedrive

我正在使用OneDriveSDK-Python检查OneDrive上的某些功能。

但是,当我没有登录时,我必须登录到在浏览器中打开的OneDrive。 我想执行一个全自动过程来控制OneDrive,而无需手动登录(甚至一次)/不使用浏览器。 看起来应该像这样:

1。。输入登录名,密码,client_id,client_secret

2。(如果已连接):您可以从命令行控制OneDrive

很遗憾,OneDriveSdk正在打开浏览器(webbrowser.open内的GetAuthCodeServer.get_auth_code()),我必须登录。

    def authentication_ind(self):
        """
        Client authentication.
        """

        self.client = onedrivesdk.get_default_client(
            client_id=self.client_id, scopes=self.__SCOPES)

        auth_url = self.client.auth_provider.get_auth_url(self.__REDIRECT_URI)

        # take code and block stdout
        output = io.StringIO()
        with redirect_stdout(output), redirect_stderr(output):
            self.block(auth_url)

        self.client.auth_provider.authenticate(self.code, self.__REDIRECT_URI, self.client_secret)

    def block(self, auth_url):
        """
        Function returns token(code)
        :param auth_url: url to authenticate
        :return: <String> token
        """
        # this will block until we have the code
        self.code = GetAuthCodeServer.get_auth_code(auth_url, self.__REDIRECT_URI)

我想解决这个问题。执行一个代码应该已经完成​​了磁盘上的所有操作(身份验证,授权以及磁盘上的某些操作(例如复制项等))

0 个答案:

没有答案