为什么 "Bad request" 在 google drive.files.update 中使用 Python3.6 在 Google Colaboratory 中?
Why "Bad request" in google drive.files.update using Python3.6 in Google Colaboratory?
我在 Google Colaboratory 中使用 Google Drive API v3 和 Python3.6。我猜,这是 update_metadata 中的一个错误,但我找不到它。 https://developers.google.com/drive/api/v3/reference/files/update
说这些属性是可写的。我被困住了,我需要帮助,谢谢。
def NEWshare(selected_id, email, permissions_metadata, emailmsg, send=True):
drive_service.permissions().create(body=permissions_metadata,
emailMessage = emailmsg,
sendNotificationEmail = send,
fileId=selected_id).execute()
def NEWupdate(selected_id, update_metadata):
drive_service.files().update(body=update_metadata,
fileId=selected_id).execute()
permissions_metadata = {
"deleted": True,
"emailAddress": email,
"kind": "drive#permission",
"role": "reader",
"type": "user"
}
update_metadata = {
"copyRequiresWriterPermission": True,
"writersCanShare": False
}
NEWshare(selected_id, email, permissions_metadata, emailmsg, send=True) 运行良好。现在我想用 NEWupdate(selected_id, update_metadata) 更新,但我收到错误消息
HttpError Traceback (most recent call last)
<ipython-input-26-07b373587193> in <module>()
----> 1 NEWupdate(selected_id, update_metadata)
2 frames
/usr/local/lib/python3.6/dist-packages/googleapiclient/http.py in execute(self, http, num_retries)
838 callback(resp)
839 if resp.status >= 300:
--> 840 raise HttpError(resp, content, uri=self.uri)
841 return self.postproc(resp, content)
842
HttpError: <HttpError 400 when requesting https://www.googleapis.com/drive/v3/files/1n8k_4fY4KMM9gnqD2MPvvV8cRgY0yCRd?alt=json returned "Bad Request">
对于此错误“HttpError: <HttpError 400 when requesting https://www.googleapis.com/drive/v3/files/1n8k_4fY4KMM9gnqD2MPvvV8cRgY0yCRd?alt=json returned "Bad Request">
”,刷新请求需要 refresh_token
、client_id
、client_secret
和 grant_type
。这是关于 refreshing an access token. See this github post.
的文档
我在 Google Colaboratory 中使用 Google Drive API v3 和 Python3.6。我猜,这是 update_metadata 中的一个错误,但我找不到它。 https://developers.google.com/drive/api/v3/reference/files/update 说这些属性是可写的。我被困住了,我需要帮助,谢谢。
def NEWshare(selected_id, email, permissions_metadata, emailmsg, send=True):
drive_service.permissions().create(body=permissions_metadata,
emailMessage = emailmsg,
sendNotificationEmail = send,
fileId=selected_id).execute()
def NEWupdate(selected_id, update_metadata):
drive_service.files().update(body=update_metadata,
fileId=selected_id).execute()
permissions_metadata = {
"deleted": True,
"emailAddress": email,
"kind": "drive#permission",
"role": "reader",
"type": "user"
}
update_metadata = {
"copyRequiresWriterPermission": True,
"writersCanShare": False
}
NEWshare(selected_id, email, permissions_metadata, emailmsg, send=True) 运行良好。现在我想用 NEWupdate(selected_id, update_metadata) 更新,但我收到错误消息
HttpError Traceback (most recent call last)
<ipython-input-26-07b373587193> in <module>()
----> 1 NEWupdate(selected_id, update_metadata)
2 frames
/usr/local/lib/python3.6/dist-packages/googleapiclient/http.py in execute(self, http, num_retries)
838 callback(resp)
839 if resp.status >= 300:
--> 840 raise HttpError(resp, content, uri=self.uri)
841 return self.postproc(resp, content)
842
HttpError: <HttpError 400 when requesting https://www.googleapis.com/drive/v3/files/1n8k_4fY4KMM9gnqD2MPvvV8cRgY0yCRd?alt=json returned "Bad Request">
对于此错误“HttpError: <HttpError 400 when requesting https://www.googleapis.com/drive/v3/files/1n8k_4fY4KMM9gnqD2MPvvV8cRgY0yCRd?alt=json returned "Bad Request">
”,刷新请求需要 refresh_token
、client_id
、client_secret
和 grant_type
。这是关于 refreshing an access token. See this github post.