Google Contacts API에 대한 연결을 관리하는 클래스를 만들었습니다. 연락처를 인증하고 반환합니다.Gmail 연락처 받기 Curl을 사용하여 사진
연락처 목록을 성공적으로 받았지만 아직 연락처 사진을 관리하지 못했습니다. 이건 내 HTML 코드입니다 :
<img src="<?= $service->getPhoto($contact['image']) ?>" />
이 내 PHP입니다 :는 $ URL 인수는 구글의 API에 의해 반환 된 연락처 데이터가 제공하는 URL이 있음을
public function getPhoto($url = false){
if(!$url)
return false;
$url = urlencode($url.'&access_token='.$this->_access_token);
//echo $url.'&access_token='.$this->_access_token;
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_TIMEOUT, 15);
$image = curl_exec($curl);
curl_close($curl);
return $image;
}
참고,이 같은처럼 다음
https://www.google.com/m8/feeds/photos/media/{userEmail}/{contactID}
이는 URL의 exemple입니다 (내 프로젝트에 따라) :
https://www.google.com/m8/feeds/photos/media/example%40gmail.com/ABCDEFGHIJK2345
는 때때로 contactId를 구글에서 '/'
오류 메시지가 포함되어
401. That's an error.
There was an error in your request. That's all we know.
내가 뭔가를 놓친 건가?
참고 : urlencode, urldecode를 사용해 보았습니다. 사용하지 않고 시도했지만 ... 같은 문제가 있습니다. 또한 내가 테스트중인 연락처에는 gmail 사진이 있습니다.
감사합니다. +1하지만 토큰 만 urlencode해도 동일한 오류가 발생합니다. 또한 응답의 모든 이미지에 gd : etag가 반환되지 않는다고 언급했습니다. 연락처에 사진이 있어도. – SmootQ
'curl_setopt ($ curl, CURLOPT_VERBOSE, true);'로 코드를 실행하고 질문을 log msg로 업데이트하십시오. –
Sabuj Hassa, 난 그냥 문제를 해결했습니다, 나는 분리 된 대답, Oof 솔루션을 게시 할 것입니다! 나는 오늘 아침부터 고투하고있다 :) – SmootQ