Не удается получить поля SharePoint с помощью Java lib msgraph-sdk-java-dev для элемента диска с круглыми скобками в имени - PullRequest
0 голосов
/ 19 марта 2019

Я пытаюсь получить доступ к полям, связанным с файлом в моем корневом каталоге Office 365 (https://www.office.com/) named (1) .docx. Левая часть URL-адреса вызывает некоторые проблемы при доступе из библиотеки Java, гдечто-то работает из Graph Explorer.

С помощью Microsoft Graph Explorer я могу получить к нему доступ, передав имя файла в качестве аргумента дочерним элементам, например так:

https://graph.microsoft.com/v1.0/me/drive/root/children('(1).docx')

Из msgraph-sdk-java-dev, IDriveItemRequestBuilder имеет метод children, который принимает аргумент String.

Вместо этого он не пытается передать его в качестве аргумента children (), но вместо этого добавляет косую черту, после которой следует имя, подобное

...drive/root/children/%281%29.doc

На самом деле .. Я закодировал () s. В любом случае это не работает.

Есть ли какой-нибудь способ заставить IDriveItemRequestBuilder использовать другую форму доступа к дочерним элементам? Или есть другая?как я должен получить доступ к элементу?

В конечном счете ... Мне нужно получить доступ к полям, связанным с элементом, как: https://graph.microsoft.com/v1.0/me/drive/root/children('(1).docx')/listitem/fields

1 Ответ

0 голосов
/ 19 марта 2019

Мне удалось решить эту проблему путем создания подкласса DriveItemRequestBuilder и переопределения дочерних элементов (идентификатор строки)

driveItemReqBldr = new DriveItemRequestBuilder(driveItemReqBldr.getRequestUrl(), driveItemReqBldr.getClient(), null) {
    public IDriveItemRequestBuilder children(String id) {
        return new DriveItemRequestBuilder(getRequestUrlWithAdditionalSegment("children") + "('" + id +"')", getClient(), null);
    }
};

Не уверен, что лучше, но это сработало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...