无法发送修补程序请求以在MAC outlook客户端中设置扩展属性

无法发送修补程序请求以在MAC outlook客户端中设置扩展属性,outlook,ms-office,outlook-addin,outlook-restapi,Outlook,Ms Office,Outlook Addin,Outlook Restapi,我正在为MAC outlook客户端开发Office加载项。我正在尝试发送修补程序请求以在MAC outlook客户端中设置扩展属性,但它不起作用。执行下面的代码后没有响应。下面的代码段适用于MAC Safari浏览器和windows桌面/浏览器。你知道吗 注意:用您的电子邮件ID替换XXXX。outlook rest api沙箱可以检索电子邮件ID。或者通过Office.js Office.Context.Mailbox.Item.itemId 函数setFlag(){ 变量选项={ 伊斯雷斯

我正在为MAC outlook客户端开发Office加载项。我正在尝试发送修补程序请求以在MAC outlook客户端中设置扩展属性,但它不起作用。执行下面的代码后没有响应。下面的代码段适用于MAC Safari浏览器和windows桌面/浏览器。你知道吗

注意:用您的电子邮件ID替换XXXX。outlook rest api沙箱可以检索电子邮件ID。或者通过Office.js Office.Context.Mailbox.Item.itemId

函数setFlag(){
变量选项={
伊斯雷斯特:是的,
};
Office.context.mailbox.getCallbackTokenAsync(选项,cb);
}
函数cb(异步结果){
var token=asyncResult.value;
setEmailFlagByToken(令牌);
}
函数setEmailFlagByToken(accessToken){
var getMessageUrl='1〕https://outlook.com/api/beta/me/messages/XXXX'
$.ajax({
url:getMessageUrl,
数据类型:“json”,
contentType:“应用程序/json”,
类型:'PATCH',
数据:“{'Flag':{'FlagStatus':'Flagged'}”,
标头:{“授权”:“承载者”+accessToken}
}).完成(功能(数据){
//成功
}).失败(功能(错误){
//处理错误
});   
}
更新的XML清单文件:
47837963-11df-469e-a84e-661070c8217c
1.0.0.0
[提供商名称]
恩美
250
读写邮箱
假的

作为1.5 API的一部分,mac outlook客户端支持用于进行Rest调用的Rest令牌。请确保在发出请求时使用的是最新的outlook二进制文件。在较旧的二进制文件中,此支持不存在。早些时候,它只提供EWS令牌,这将使您能够只进行EWS请求。Insider fast程序用户可以获得支持此功能的二进制文件。

本文并不是在回答这个问题。请注意,这是一个问答网站,每个帖子都是一个问题或问题的答案。帖子也可以有这样的小句子,可以用来批评或要求作者澄清。这应该是评论或@deepak,我的MAC outlook客户端版本是15.33(170409),你认为它会工作吗?不,170409没有这个支持,你需要更新版本。此功能已作为Outlook for mac的Insider fast计划的一部分发布。如果您不是insider fast计划的一部分,请注册。@deepak,我加入了Outlook for mac的insider fast计划并下载了更新的安装信息,但这个问题仍然存在。当前MAC版本的outlook客户端是15.37(170707),这应该可以工作吗?是的,应该可以。您应该在170707构建中获得rest令牌,该令牌可用于进行rest api调用。您遇到了什么错误?现在通过在Fast内部安装Office解决了此问题,2017年9月2日更新的安装位修复了此问题@迪帕克
        function setFlag() {
           var options = {
           isRest: true,
           };
           Office.context.mailbox.getCallbackTokenAsync(options, cb);
        }

        function cb(asyncResult) {
           var token = asyncResult.value;
           setEmailFlagByToken(token);
        }
        function setEmailFlagByToken(accessToken) {
         var getMessageUrl = 'https://outlook.com/api/beta/me/messages/XXXX'
          $.ajax({
          url: getMessageUrl,
          dataType: 'json',
          contentType:"application/json",
          type:'PATCH',
          data: "{'Flag':{'FlagStatus':'Flagged'}}",
          headers: { 'Authorization': 'Bearer ' + accessToken }
          }).done(function(data){
             //Succeeded

          }).fail(function(error){
            // Handle error
          });   
        }


 Updated XML Manifest file:
<?xml version="1.0" encoding="UTF-8"?>
<OfficeApp xmlns="http://schemas.microsoft.com/office/appforoffice/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="MailApp">
  <Id>47837963-11df-469e-a84e-661070c8217c</Id>
  <Version>1.0.0.0</Version>
  <ProviderName>[Provider name]</ProviderName>
  <DefaultLocale>en-US</DefaultLocale>
  <DisplayName DefaultValue="OfficeAddIn" />
  <Description DefaultValue="OfficeAddIn"/>
  <Hosts>
    <Host Name="Mailbox" />
  </Hosts>
  <Requirements>
    <Sets>
      <Set Name="MailBox" MinVersion="1.1" />
    </Sets>
  </Requirements>
  <FormSettings>
    <Form xsi:type="ItemRead">
      <DesktopSettings>
        <SourceLocation DefaultValue="https://mailapppoc2.azurewebsites.net/AddInRead/Home/Home.html"/>
        <RequestedHeight>250</RequestedHeight>
      </DesktopSettings>
    </Form>
  </FormSettings>
  <Permissions>ReadWriteMailbox</Permissions>
  <Rule xsi:type="RuleCollection" Mode="Or">
    <Rule xsi:type="ItemIs" ItemType="Message" FormType="Read" />
  </Rule>
  <DisableEntityHighlighting>false</DisableEntityHighlighting>
</OfficeApp>