【问题标题】:Modify message label Python GMAIL API修改消息标签 Python GMAIL API
【发布时间】:2021-01-18 21:36:00
【问题描述】:

我正在尝试使用 Gmail API 发送发布请求。但是,我在文档中找不到用于发送数据的参数名称。

例如,下面是我正在使用的代码示例:

post_data = {
  "addLabelIds": [
    "123456789"
  ]
}

service = build('gmail', 'v1', credentials=credentials)
result = service.users().messages().modify(userId=user_id, id=message_id).execute()

任何指导将不胜感激,谢谢

【问题讨论】:

  • 你说的是什么参数?你的意思是user_idmessage_id,还是只是如何执行该方法?如果是后者,您只需使用execute():result = service.users().messages().modify(userId=user_id, id=message_id).execute()
  • 很抱歉没有清楚地解释自己。我正在尝试执行以下操作,但使用 Gmail API import requests url = "https://gmail.googleapis.com/gmail/v1/users/{userId}/messages/{id}/modify".format(userId=userid, id=message_id) post_data = { "addLabelIds": [ "123456789" ] } x = requests.post(url, data = post_data)
  • 所以你不想使用 Python API 库(参见相关的quickstart),而改用requests?这是什么原因?无论如何,您都缺少身份验证部分。您正在尝试访问非公共资源,因此您必须通过OAuth process。您的问题是在使用 requests 模块时如何做到这一点?
  • 我想做相反的事情:我想使用 Gmail API 而不是 requests 包来发送 Post 请求。是的,我没有包括身份验证部分,因为这部分工作正常
  • 对不起,我还是无法理解你的目的。您共享的代码可以用来修改电子邮件,您只需要执行它(只要您实际经历过OAuth流程,如您所说)。是什么让您认为这没有成功执行,您是否遇到任何错误?

标签: python gmail-api google-apis-explorer


【解决方案1】:

在调用modify时需要添加请求body作为参数,像这样:

result = service.users().messages().modify(userId=user_id, id=message_id, body=post_data).execute()

参考:

【讨论】:

  • 太棒了,谢谢!我使用的是第一个 link 但我没有第二个 link 所以非常感谢
猜你喜欢
  • 2019-04-18
  • 2015-12-26
  • 2023-03-13
  • 2019-08-16
  • 1970-01-01
  • 2017-04-09
  • 2015-08-26
  • 2018-09-29
  • 2016-05-20
相关资源
最近更新 更多