繁体   English   中英

Python Office365 API-TimeZone保持本地时间

[英]Python Office365 API - TimeZone stays at Local Time

我下面有这个python代码,它可用于在Outlook日历中创建事件。 下面的示例的开始和结束时间为下午3点到下午4点(我认为是UTC时区)

我们有来自不同地区(太平洋,山区,中部...时间)的用户。 我试图做到的是,时间总是本地时间。 无论用户帐户来自何处,其Outlook中的默认值都应为下午3点至下午4点。

在此先感谢您,如果我需要澄清其中的任何一个,请告诉我。

# Set the request parameters
url = 'https://outlook.office365.com/api/v1.0/me/events?$Select=Start,End'
user = 'user1@domain.com'

pwd = getpass.getpass('Please enter your AD password: ')


# Create JSON payload
data = {
  "Subject": "Testing Outlock Event",
  "Body": {
    "ContentType": "HTML",
    "Content": "Test Content"
  },
  "Start": "2016-05-23T15:00:00.000Z",
  "End": "2016-05-23T16:00:00.000Z",
      "Attendees": [
    {
      "EmailAddress": {
        "Address": "user1@domain.com",
        "Name": "User1"
      },
       "Type": "Required"  },

       {
      "EmailAddress": {
        "Address": "user2@domain.com",
        "Name": "User2"
      },
       "Type": "Optional"  }
  ]
}

json_payload = json.dumps(data)

# Build the HTTP request
opener = urllib2.build_opener(urllib2.HTTPHandler)
request = urllib2.Request(url, data=json_payload)
auth = base64.encodestring('%s:%s' % (user, pwd)).replace('\n', '')
request.add_header('Authorization', 'Basic %s' % auth)
request.add_header('Content-Type', 'application/json')
request.add_header('Accept', 'application/json')
request.get_method = lambda: 'POST'
# Perform the request
result = opener.open(request)

首先,没有必要在不同时区同时创建会议。

如果您确实要这样做,则需要按与会者所在的时区创建单独的会议请求,JSON格式如下所示,

var body = new JObject
        {
            {"Subject", "Testing Outlock Event"},
            {"Start", new JObject { { "DateTime", "2016-03-24T15:00:00"}, { "TimeZone", "Pacific Standard Time" } } },
            {"End", new JObject { { "DateTime", "2016-03-24T16:00:00"}, { "TimeZone", "Pacific Standard Time" } } }
        };

请注意,您需要从时间中删除大写字母“ Z”,以便以“ TimeZone”属性指定的本地时间音调显示。

上面的解决方法需要知道所有与会者的时区,我不确定是否可以务实地做到这一点。 如果没有,那么如果您有与会者的音调可能就没有多大意义。

达到要求的“理想”方法是在不指定时区的情况下给出时间,以便在不同的时区同时显示该时间。

但是,尚不支持,但是您可以在这里投票https://officespdev.uservoice.com/forums/224641-general/suggestions/12866364-microsoft-graph-o365-unified-api-create-events-w

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM