将Microsoft Graph与客户端凭据和消息订阅一起使用

时间:2018-05-17 19:31:58

标签: javascript microsoft-graph

我的目标是为我的租户中的多个用户使用客户端凭据和邮件订阅。

我通过客户端凭据成功获取访问令牌,并可以将其与Graph一起使用,例如为多个用户创建日历事件。

但是,当我使用访问令牌为邮件创建图表订阅时,我收到“不支持的段类型”失败。

图表是否支持订阅的客户端凭据?如果是的话,我做错了吗?

感谢您的帮助。

"error": {
    "code": "BadRequest",
    "message": "Unsupported segment type. ODataQuery: users//subscriptions",
    "innerError": {
        "request-id": "e92caf14-0343-40b0-8720-30946d7fd236",
        "date": "2018-05-17T17:53:34"
    }
}

这是我的订阅功能:

graph.subscribe = function(token, userid) {

  var subscription = {
    changeType: 'Created',
    notificationUrl: 'my notification url',
    resource: '/users/<userid removed>/messages',
    clientState: 'blah'
  };

  request.post({
    url: 'https://graph.microsoft.com/v1.0/users/<userid removed>/subscriptions',
    headers: {
      'content-type': 'application/json',
      authorization: 'Bearer ' + token
    },
    body: JSON.stringify(subscription)
  }, function(err, response, body) {
    if (err) {
      console.error('>>> Application error: ' + err);
    } else {
      console.log('>>> Subscription returned ' + body);
    }
  });
};

1 个答案:

答案 0 :(得分:0)

POST应发布到/v1.0/subscriptions端点,而不是/v1.0/users/{upn}/subscriptions

您可能需要查看this Node.js example,了解他们是如何做到的。