Не удается получить UploadURL от Microsoft Graph в сеансе загрузки - PullRequest
0 голосов
/ 21 марта 2020

Я пытался реализовать следующую процедуру с python

https://docs.microsoft.com/en-us/onedrive/developer/rest-api/api/driveitem_createuploadsession?view=odsp-graph-online#create -an-upload-session

Я пытался получить часть URL загрузки

Обратите внимание, что я уже получил токен доступа и создал требуемый идентификатор клиента и секрет

    def getUploadUrl(filename="test.txt"):
        global token
        if (not token):
            with open('token.json', 'r') as f:
                token = json.load(f)
        if (token["expires_at"] < time.time()):
            refreshToken()
        location = "/me/drive/root:/FolderA/" + filename + ":/createUploadSession"
        client = OAuth2Session(client_id=client_id,
                               redirect_uri=REDIRECT_URI, token=token)

        headers = {'Content-Type': 'application/json'}

        json_file = {
            "item": {"@odata.type": "microsoft.graph.driveItemUploadableProperties",
                "@microsoft.graph.conflictBehavior": "replace",
                "name": filename
            }
        }
        json_string = json.dumps(json_file, indent=4)
        r = client.post(BaseUrl + location,
                        data=json_string, headers=headers)
        print(r.status_code)
        print(r.text)
        upload_url = ""
        if(r.status_code == 200):
            upload_url = r.json()['uploadUrl']
            return upload_url, r
        else:
            return "", ""

Я продолжаю получать следующий ответ об ошибке, хотя

{
 "error": {
  "code": "invalidRequest",
   "message": "Invalid request",
    "innerError": {
     "request-id": "7893d0aa-fcdb-46bc-b0b6-58fd90c4cb46",
      "date": "2020-03-21T17:15:13"
    }
  }

Ответы [ 2 ]

0 голосов
/ 21 марта 2020

Попробуй перезагрузить позже, возможно это была ошибка сервиса.

0 голосов
/ 21 марта 2020

То, что я до сих пор делал, это просто удаление @odata.type": "microsoft.graph.driveItemUploadableProperties из полезной нагрузки JSON.

...