0

我在 Outlook To-do 任务中创建了自定义列“VESSEL NAME”、“VOYAGE NUMBER”、“ETD”和“CUT-OFF”,如下图所示。

Outlook 任务快照

我需要通过 MS Graph API 访问这些列中的值,但到目前为止还没有运气。

不确定我是否朝着正确的方向前进,但我已经在我的任务中添加了一个名为“ZZZ”的 openTypeExtension 作为测试。我可以通过“GET”方法检索它,但无法在 Outlook 中的任何位置找到它,希望在自定义列或其他任务字段中找到它。

这是Python代码:

# In[1]:

import json
import requests

# In[2]:

token = json.load(open('ms_graph_state.jsonc'))["access_token"]
header = {'Authorization':'Bearer '+token}
header1 = {'Authorization':'Bearer '+token,'Content-Type':'application/json'}
base_url = 'https://graph.microsoft.com/v1.0/me/'

# In[3]:

task_list_id = requests.get(base_url+'todo/lists/',headers=header).json()['value'][1]['id']
task_list = base_url+'todo/lists/'+task_list_id
task_id = requests.get(task_list+'/tasks/',headers=header).json()['value'][0]['id']

# In[4]:

payload = {"@odata.type" : "microsoft.graph.openTypeExtension","extensionName" : "ZZZ","xxx" : "yyy"}

# In[5]:

create_oe = requests.post(task_list+'/tasks/'+task_id+'/extensions',headers=header1,json=payload).json()

# In[6]:

oe = requests.get(task_list+'/tasks/'+task_id+'/extensions/ZZZ',headers=header1).json()
oe

'''
Output:

{'@odata.context': "https://graph.microsoft.com/v1.0/$metadata#users('to-do-app%40outlook.co.nz')/todo/lists('AQMkADAwATZiZmYAZC0xNDM3LTZlYmMtMDACLTAwCgAuAAADtVcV-o2b90KtdxZu_nQLmgEA2HIj8QQFbES8Q4ESBpmcmgAAAgESAAAA')/tasks('AQMkADAwATZiZmYAZC0xNDM3LTZlYmMtMDACLTAwCgBGAAADtVcV-o2b90KtdxZu_nQLmgcA2HIj8QQFbES8Q4ESBpmcmgAAAgESAAAA2HIj8QQFbES8Q4ESBpmcmgAAAUeYHQAAAA%3D%3D')/extensions/$entity",
 'extensionName': 'ZZZ',
 'id': 'microsoft.graph.openTypeExtension.ZZZ',
 'xxx': 'yyy'}

'''

# In[7]:

task = requests.get(task_list+'/tasks/'+task_id,headers=header).json()
task

'''
Output:

{'@odata.context': "https://graph.microsoft.com/v1.0/$metadata#users('to-do-app%40outlook.co.nz')/todo/lists('AQMkADAwATZiZmYAZC0xNDM3LTZlYmMtMDACLTAwCgAuAAADtVcV-o2b90KtdxZu_nQLmgEA2HIj8QQFbES8Q4ESBpmcmgAAAgESAAAA')/tasks/$entity",
 '@odata.etag': 'W/"2HIj8QQFbES8Q4ESBpmcmgAAAa4dUQ=="',
 'importance': 'normal',
 'isReminderOn': False,
 'status': 'notStarted',
 'title': 'test-to-do-task',
 'createdDateTime': '2021-08-14T20:14:22.5557165Z',
 'lastModifiedDateTime': '2021-08-17T06:46:46.260686Z',
 'id': 'AQMkADAwATZiZmYAZC0xNDM3LTZlYmMtMDACLTAwCgBGAAADtVcV-o2b90KtdxZu_nQLmgcA2HIj8QQFbES8Q4ESBpmcmgAAAgESAAAA2HIj8QQFbES8Q4ESBpmcmgAAAUeYHQAAAA==',
 'body': {'content': '\r\n\r\n', 'contentType': 'text'}}

'''

感谢您对此的帮助。

谢谢

4

1 回答 1

0

AFAIK,目前不支持此功能。话虽如此,请考虑为您的特定场景提交用户声音,以便将来实施。

于 2021-08-23T19:08:45.663 回答