使用Python和Microsoft Graph从电子邮件中提取数据

使用Python和Microsoft Graph从电子邮件中提取数据,python,email,outlook,microsoft-graph-api,microsoft-graph-mail,Python,Email,Outlook,Microsoft Graph Api,Microsoft Graph Mail,因此,我的问题是,您是否可以使用Python和/或Microsoft Graph查看outlook电子邮件并将数据提取出来并将其放入excel文档中 以下是我正在尝试做的事情,如果有任何方法,请随时告诉我: 我想在outlook收件箱中创建一个文件夹,用于接收重定向的电子邮件。我想制作一个脚本,查看该文件夹中的所有电子邮件,提取每个电子邮件中的特定数据,并将其放入excel文档中 例如,您可以设置一个连接到的python脚本。按照上述网站中的说明获取访问令牌,并使用访问令牌登录。您可以设置时间间

因此,我的问题是,您是否可以使用Python和/或Microsoft Graph查看outlook电子邮件并将数据提取出来并将其放入excel文档中

以下是我正在尝试做的事情,如果有任何方法,请随时告诉我:


我想在outlook收件箱中创建一个文件夹,用于接收重定向的电子邮件。我想制作一个脚本,查看该文件夹中的所有电子邮件,提取每个电子邮件中的特定数据,并将其放入excel文档中

例如,您可以设置一个连接到的python脚本。按照上述网站中的说明获取访问令牌,并使用访问令牌登录。您可以设置时间间隔来重新检查邮件/邮箱并处理这些数据。api中可能有函数/参数,允许您每n秒自动接收一次更新(我还没有查看详细信息)。编写自己的处理函数来处理数据,以挖掘数据供自己使用

import time
def main():
    data = get_my_messages(<your_access_token>)
    time.sleep(5)
    process(data)
main()
def get_my_messages(access_token):
  get_messages_url = graph_endpoint.format('/me/mailfolders/inbox/messages')

  # Use OData query parameters to control the results
  #  - Only first 10 results returned
  #  - Only return the ReceivedDateTime, Subject, and From fields
  #  - Sort the results by the ReceivedDateTime field in descending order
  query_parameters = {'$top': '10',
                      '$select': 'receivedDateTime,subject,from',
                      '$orderby': 'receivedDateTime DESC'}

  r = make_api_call('GET', get_messages_url, access_token, parameters = query_parameters)

  if (r.status_code == requests.codes.ok):
    return r.json()
  else:
    return "{0}: {1}".format(r.status_code, r.text)