Как я могу получить ClientContext в Office 365 с фиксированными учетными данными (не запрашивать пользователя)
Я создаю прототип инструмента, который запускается каждые несколько минут и отправляется на сайт Office 365 для получения и последующей обработки информации.
В данный момент я начал с руководства MSDN "Удаленная аутентификация в SharePoint Online с использованием аутентификации на основе утверждений", которое указывает на очень полезный пример кода, который получает объект clientcontext на основе входа пользователя в систему, а затем извлекает cookie.
Я хочу иметь возможность запускать мой код в планировщике задач, чтобы вы могли указать имя пользователя и пароль для офиса в конфигурации где-нибудь.
У кого-нибудь есть какой-нибудь код, который это сделает или отправная точка. что-то вроде
using (ClientContext ctx = SomeClass.GetContext(targetSiteUrl, username, password))
{
if (ctx != null)
{
//dostuffhere
}
}
Я видел этот пост в блоге Автоматический вход в систему с использованием проверки подлинности на основе утверждений, но код на сайте выглядит неполным / Я не могу заставить его работать
Просто хочу отметить, что я имею в виду текущую версию Office 365 (на основе 2010 года), а не новую доступную бета-версию 2013 года.
3 ответа
Итак, вы хотите, чтобы пользователь мог получить доступ к чему-либо, не будучи зарегистрированным пользователем в SharePoint? Если это так, вы можете посмотреть на повышение привилегий текущих пользователей в коде.
Могу подтвердить, что этот пост здесь имеет ответ. Вы используете класс MSOnlineHelper, чтобы выполнить аутентификацию без головы
Используйте класс SharePointOnlineCredentials для создания экземпляра clientContext.Credentials.
Класс SharePointOnlineCredentials представляет объект, который предоставляет учетные данные для доступа к ресурсам SharePoint Online.