Как подключиться к обмену 2013 EWS через php (просто получить фото)

Как подключиться к бирже 2013 EWS просто получить фото?
Какая библиотека мне нужна (API) и как ее встроить? (Я начинающий в php)

Вот код, который я сейчас имею:

https://exchange.domen.local/ews/exchange.asmx/s/GetUserPhoto?email=mail@mail.ru&size=HR240x240

Он спрашивает меня логин / пароль. Это хорошо. Но мне нужен способ написать логин / пароль к скрипту. Благодарю.

1

Решение

Вот как я справился с этим в PHP, используя curl. Это просто без каких-либо зависимостей вне curl.

Проверено на сервере Exchange 2013. Сохраняет в файл напрямую.

$server = ''; // owa.whatever.com, etc.
$user = ''; // username without domain info
$password = '';
$email_to_get = ''; // Email to pull photo
$fullurl = "https://$server/ews/Exchange.asmx/s/GetUserPhoto?email=$email_to_get&size=HR648x648"; //sizes defined at https://msdn.microsoft.com/en-us/library/jj194329(v=exchg.80).aspx
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $fullurl);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_NTLM | CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "$user:$password");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$returned = curl_exec($ch);

$fp = fopen("pic.jpg", 'w'); // Save picture locally to .jpg
fwrite($fp, $returned);
fclose($fp);

header('Content-type: image/jpeg');
echo $returned; // Display the image on the page if desired
1

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

Ваш «Код», который вы предоставляете, является неполным. Вы только запускаете URL, но не указываете, что хотите извлечь изображение из потока XML.

Лучший способ проверить Microsoft HowTo Вот, в нем приведены примеры, которые вы можете приспособить к вашим потребностям. Если вы не можете сделать это, вы можете проверить библиотеку PHP EWS из Вот.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector