"webUrl" принимает значение null при отправке приглашения к файлу - Graph API (Отправить приглашение к совместному использованию) - PullRequest
0 голосов
/ 26 мая 2020

Я использую API приглашения из MS GRAPH - ССЫЛКА на приглашение

Отправить приглашение на совместное использование - Внешние пользователи

  • POST / me / drive / items / {item-id} / seek
  • POST / sites / {siteId} / drive / items / {itemId} / invite

Ответы на вышеуказанный запрос возвращают 200 OK код ответа и объект разрешение возвращаются, но ссылка общего доступа (webUrl) под объектом ссылки в большинстве случаев возвращает значение «null», из-за чего ссылка общего доступа не может быть предоставлена ​​Внешнему пользователю для редактирования документа .

ЗАПРОСИТЬ ТЕЛО:



    {
    "recipients": [
        {
          "email": "abc@abc.com"
        }
      ],
      "message": "Here's the file that we're collaborating on.",
      "requireSignIn": true,
      "sendInvitation": false,
      "roles": [ "write" ]
    }

Здесь я не хочу делиться элементом через почту, поэтому сделаю sendInvitation ложным и использую webURL, полученный из ответа для сотрудничества.

Наблюдение: работает с учетной записью Gmail и Outlook. Для бизнес-аккаунтов он не работает, получая нулевой URL.

Примеры:

  • Если я приглашаю в первый раз, я получаю ответ ниже:

Образец исключенного ответа:

</p>

<pre><code>{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Collection(permission)",
    "value": [
        {
            "@odata.type": "#microsoft.graph.permission",
            "roles": [
                "write"
            ],
            "grantedToIdentities": [
                {
                    "user": {
                        "email": "#####@####.com"
                    }
                }
            ],
            "invitation": {
                "signInRequired": true
            },
            "link": {
                "type": "edit",
                "webUrl": "https://**********encryptedURL*****/"
            }
        }
    ]
}

  • Со второго раза ссылка объект не приходит в ответ ,

Пример ответа получен без webURL:

</p>

<pre><code>{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Collection(permission)",
    "value": [
        {
            "@odata.type": "#microsoft.graph.permission",
            "id": "###############",
            "roles": [
                "write"
            ],
            "grantedTo": {
                "user": {
                    "email": "######@######.com",
                    "id": "#############",
                    "displayName": "@@@@@@@"
                }
            }
        }
    ]
}

...