Simple Linux Panel
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mdserver-web/plugins/msonedrive/t/test.py

102 lines
2.6 KiB

2 years ago
#!/usr/bin/python
# coding: utf-8
# python3 plugins/msonedrive/t/test.py
# https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/ApplicationMenuBlade/~/Overview/appId/08125e6b-6502-4ac9-9548-ad682f00848d/objectId/62b1d655-9828-47ed-be99-65eb18c3a929/isMSAApp~/false/defaultBlade/Overview/appSignInAudience/AzureADandPersonalMicrosoftAccount/servicePrincipalCreated~/true
# 0WA8Q~sZkZFZKv50ryP4ux~.fpVtbHw7BuTZmbQB
# client_id:d9878fac-8526-4ff6-8036-e1c92dd9dd80
# 08125e6b-6502-4ac9-9548-ad682f00848d
# https://login.microsoftonline.com/common/oauth2/v2.0/authorize?response_type=code&client_id=d9878fac-8526-4ff6-8036-e1c92dd9dd80&redirect_uri=http://localhost&scope=offline_access+Files.ReadWrite.All+User.Read&state=cwopMdHiPIkze4MvgFL6WfSl8LdYAl&prompt=login
# http://localhost/?code=M.C106_BAY.2.3e12c859-6107-0c5b-9ef4-14b3fb8269ba&state=JzHdzHXmA7x6zl7Be6cJ6uOlf9Bg69
import sys
import io
import os
import time
import re
import json
from requests_oauthlib import OAuth2Session
sys.path.append(os.getcwd() + "/class/core")
import mw
def getPluginName():
return 'msonedrive'
def getPluginDir():
return mw.getPluginDir() + '/' + getPluginName()
def getServerDir():
return mw.getServerDir() + '/' + getPluginName()
sys.path.append(getPluginDir() + "/class")
from msodclient import msodclient
msodclient.setDebug(True)
msodc = msodclient(getPluginDir(), getServerDir())
# sign_in_url, state = msodc.get_sign_in_url()
# print(sign_in_url)
def set_auth_url(url):
try:
if url.startswith("http://"):
url = url.replace("http://", "https://")
token = msodc.get_token_from_authorized_url(
authorized_url=url)
msodc.store_token(token)
msodc.store_user()
return mw.returnJson(True, "授权成功!")
except Exception as e:
print(e)
return mw.returnJson(False, "授权失败2!:" + str(e))
return mw.returnJson(False, "授权失败!:" + str(e))
# url = 'http://localhost/?code=M.C106_BAY.2.310112f3-a158-c400-9667-d158cbd1de6c&state=jEJz0ucR9bpZYD9PGxp2GgRDotrzO6'
# token = set_auth_url(url)
# print(token)
# token = msodc.get_token()
# print("token:", token)
# t = msodc.get_list('/backup')
# print(t)
# t = msodc.create_dir('backup')
# print(t)
# t = msodc.delete_object('backup')
# print(t)
t = msodc.upload_file('web_t1.cn_20230830_134549.tar.gz', 'site')
print(t)
# print(msodc.error_msg)
# /Users/midoks/Desktop/mwdev/server/mdserver-web/paramiko.log
# backup/site/paramiko.log
# |-正在上传到 backup/site/paramiko.log...
# True
# t = msodc.upload_abs_file(
# 'web_t1.cn_20230830_134549.tar.gz', 'site')
# print(t)
# print(msodc.error_msg)