Как программно открыть файл, расположенный в OneDrive, используя рабочий стол Word?

у меня есть .docx файл в Один диск. Если я нажимаю на него, он открывается Слово онлайн. Затем есть кнопка, которая говорит Edit in Word который открывает текущий файл на рабочем столе слово (Вы должны предоставить учетные данные, конечно).

С использованием OneDrive API, Я могу открыть файл прямо в Слово онлайн из моего приложения PHP (так как он предоставляет URL-адрес файла), но теперь я пытаюсь открыть его в Слово Оффлайн (а затем Word запросит учетные данные для пользователя).

TL; DR: я пытаюсь воспроизвести Edit in Word поведение кнопки. Как я могу это сделать?

0

Решение

Чтобы открыть файл на рабочем столе Word из веб-приложения, вы должны использовать ms-word протокол:

https://msdn.microsoft.com/en-us/library/office/dn906146.aspx

Это выглядит как: ms-word:ofe|u|<url to file>,
Вы должны иметь возможность инициировать открытие файла, установив выше URL как href атрибут a тег или по телефону window.open() Функция JS.

Но вам нужен прямой URL (а не веб-URL или сгенерированная ссылка для доступа), и, насколько мне известно, API не предоставляет такой, поэтому вам придется создавать его самостоятельно.

Прямая ссылка для OneDrive (персональная) выглядит так:
https://d.docs.live.net/{drive-id}/{file-path},

Вы можете получить идентификатор диска, вызвав API (я буду использовать Microsoft Graph, потому что я знаком только с этим).

Вызов https://graph.microsoft.com/v1.0/me/drive/ и в ответ вы получите JSON, который включает в себя id свойство, и это ваш необходимый идентификатор диска.

Если вы не хотите использовать Graph API, но OneDrive API, я думаю, единственная часть, которая изменяется graph.microsoft.com и это становится api.onedrive.com(но я не уверен, посмотрите здесь для получения дополнительной информации — https://dev.onedrive.com/getting-started.htm).

Далее вам нужно указать путь к файлу в вашем OneDrive. Если файл находится в корневом каталоге, прямой URL-адрес файла может выглядеть следующим образом:
https://d.docs.live.net/xxxxxxxxxx/Document1.docx,

Это в основном все, теперь вы должны иметь возможность открыть файл в настольном приложении Word, используя ms-word:ofe|u|https://d.docs.live.net/xxxxxxxxxx/Document1.docx,

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]