将成员添加到Microsoft图形中的组时出错

时间:2016-10-13 12:32:31

标签: office365 microsoft-graph

我正在尝试使用REST API创建一个组并在Microsoft Graph中向该组添加成员。我的组是正确创建的,但是当我向组中添加成员时,我从服务器返回以下异常:

An unexpected 'EndOfInput' node was found when reading from the JSON reader. A 'StartObject' node was expected.

我正在尝试使用以下代码添加所有者/成员(两者都返回相同的异常):

$graphService.postToGraph("/groups", groupData).then((group) => {
    $graphService.getFromGraph("/me").then((me) => {
        $graphService.postToGraph("/groups/{0}/owners/$ref".format(group.id), me).then((owner) => {
               console.log(owner);
            })
          });
    }

服务正在以这种方式执行请求:

 $.ajax({
      type: "POST",
      url: pathToGraph,
      contentType: "application/json",
      headers: {
        'Authorization': 'Bearer ' + token,
      },
      data: JSON.stringify(data)
    })

组的创建运行良好(并且相同的代码用于来自Graph的大量工作请求),但是在分配成员时遇到问题。作为身体,我写了从" / me"回来的整个json。 我使用以下引用来实现这个:

谢谢!

1 个答案:

答案 0 :(得分:1)

所以,我发现了这个问题。显然文档中存在一个小问题:

  

在请求正文中,提供要添加的用户对象的JSON表示。

链接转到的位置:https://graph.microsoft.io/en-us/docs/api-reference/v1.0/resources/user.htm 为了使它工作,你不应该把来自用户的内容表示在内,真的需要创建具有该用户ID的json字符串和内部图形的url:

{"@odata.id": "https://graph.microsoft.com/v1.0/users/<id>"}

发送完毕后,该成员将被添加到该组中,并且一切正常。