2017-11-03 1 views
1

교환기에 연결하는 방법 2013 EWS로 사진을 찍으시겠습니까? 필요한 라이브러리 (API) 및 삽입 방법교환기에 연결하는 방법 PHP를 통해 2013 EWS (사진 찍기)

가 여기에 내가 지금 가지고있는 코드입니다 (난 PHP에서 초보자 M) :

https://exchange.domen.local/ews/exchange.asmx/s/[email protected]&size=HR240x240 

그는/로그인 패스워드를 물어. 좋습니다. 하지만 로그인/암호를 스크립트에 쓰는 방법이 필요합니다. 감사.

답변

1

다음은 PHP에서 컬링을 사용하여 처리 한 방법입니다. 컬의 외부에 의존성이 없어도 간단합니다.

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 
+0

안녕하세요 그렉. 위대한 스크립트,하지만 질문이 있습니다 - 귀하의 스크립트는 여기에 사진을 열거 나 일부 변수에서 필요한 사진을 추출합니까? $ server = "bagira.bam.loc", $ user = "user", $ password = "password", $ email_to_get = "[email protected]"(처음에는 두 개의 세미콜론을 추가했습니다.)하지만 아무것도 (스크립트의 오류 없음) 스크립트가 뭔가를하지만 이해할 수 없다 :). –

+1

아, 내 정보를 삭제했을 때 세미콜론을 간과했다. 나는 그것을 포스트에서 바로 잡을 것이다. –

+1

Oleg, 사진 데이터가 $ return에 반환됩니다. 그래서 fwrite를 사용하여 파일에 기록합니다. print_r ($ 반환); 웹 페이지 자체에 가면 바이너리 데이터를 볼 수 있습니다 (처음 몇 개 항목에서는 JPG 용 JFIF가 필요합니다). w가 파일을 덮어 쓰거나 만들 때 x 대신 w를 사용하도록 fopen을 변경했으며 x는 파일을 만 만듭니다. –

0

귀하가 제공하는 "코드"가 불완전합니다. URL 만 트리거하지만 xml 스트림에서 그림을 가져 오도록 지정하지는 마십시오.

Microsoft HowTo here을 확인하는 가장 좋은 방법은 필요에 맞게 조정할 수있는 예제를 제공하는 것입니다. 그렇게 할 수 없다면 PHP EWS 라이브러리를 here에서 검사 할 수 있습니다.

+0

실마리 "xml stream"- 내가 필요한 것. 나는 XML 스트림으로 ews에 대해 몰랐다. :) 감사. 나중에 나는 해결책을 줄 것이다. –

+0

당신은 환영합니다 :) – BastianW