2015-10-14 2 views
1

Я успешно использовал унифицированный API Office 365 для соединения моего многопользовательского приложения SaaS с Office 365 и возврата файлов для унифицированных групп. Я достигаю этого, используя библиотеку ADAL и пакет Unified API nuget. Мы запросили следующие разрешения (среди прочих) в нашем приложении Azure AD в соответствии с примечаниями к выпуску Unified API для предварительного просмотра - Group.Read.All, Group.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.All. Я ценю, что ReadWrite делает чтение излишним, но мы добавили оба набора, чтобы попытаться защитить себя от некоторых возможных проблем предварительного просмотра.Office 365 унифицированных файлов api (предварительный просмотр), возвращающих 500 внутренних ошибок сервера только у некоторых арендаторов

Теперь у нас есть арендатор, который может читать свои группы, но не может получить доступ к файлам в группе. Это хорошо работает у других арендаторов.

Когда мы отлажен код, мы обнаружили, что эта линия метания пустой ссылки исключения:

IPagedCollection<IItem> files = await _client.groups.GetByID(groupId).files.ExecuteAsync() 

Затем мы отделили его, чтобы проверить группу было быть получены в порядке, который он:

IGroup group = await _client.groups.GetById(groupId).ExecuteAsync() 

поэтому мы сделали те же файлы запроса с помощью HTTP-клиента, так что мы могли бы получить более подробный ответ от сервера:

https://graph.microsoft.com/beta/myOrganization/groups/[group_id_here]/files

Это возвращает код состояния 500 - внутренняя ошибка сервера, а содержимое - «Ссылка на объект, не установленная на экземпляр объекта». Не очень полезно!

Я видел несколько тем о людях, испытывающих подобные проблемы с неправильной настройкой разрешений, но в моем случае я не могу понять, почему вызов для получения унифицированных групповых файлов будет работать нормально в одном офисе 365, но не в другой, когда их привилегии контролируются одним и тем же Azure AD Application и, следовательно, точно такие же.

Группы создаются в веб-приложении Office 365, а не через унифицированный API, что не является фактором.

Существуют ли разрешения в Office 365, которые администраторы могут использовать для ограничения доступа к унифицированным запросам api? Я не вижу ничего в документации, но даже если бы это было так, я ожидал бы неавторизованный ответ вместо внутренней ошибки сервера.

Любые идеи высоко оценены!

ответ

0

Извините за этот вопрос. Поэтому я считаю, что мы случайно подтолкнули изменение раньше, и вам удалось ударить его, прежде чем мы вернем изменение. Мы находимся в процессе обновления доступа к файлам с помощью API OneDrive, что приведет к нарушению изменений. Вы можете прочитать больше об этом и о том, что в конечной точке/beta, которую мы планируем обновить 10/19, здесь: http://dev.office.com/blogs/Update-2-on-Office-365-unified-API. После обновления, обращающиеся файлы потребуется следующий синтаксис: https://graph.microsoft.com/stagingBeta/microsoft.com/groups/groupId/drive/root/children

ПРИМЕЧАНИЕ: Мы должны сформировать новую клиентскую библиотеку для этого. Тот, который вы используете, будет разорван с этим обновлением. Мы надеемся получить новую клиентскую библиотеку очень скоро после этого обновления службы.

Теперь я не уверен, что это именно то, на что вы наткнулись, или это другая проблема. Можете ли вы попробовать еще раз (до того, как мы сделаем обновление 10/19 в 12 вечера PDT)?

Надеюсь, это поможет,

+0

Я думаю, что это определенно проблема, спасибо Dan. Любые новости об обновленной клиентской библиотеке? В его нынешнем виде мы не сможем продолжать разработку до выпуска новой библиотеки (не нужно вручную создавать все остальные вызовы и анализировать ответы, если скоро появится новая библиотека). Благодарю. – Paul

Смежные вопросы