Google 연락처에서 사진을 설정하려면 Google Contacts API (gdata)를 사용하고 있습니다.
피들러를 사용 중이며 요청이 Google Contacts Examples에 따라 전송되었지만 Google에서 다시 다운로드 한 사진은 항상 96x96입니다.
내가 업데이트하고 사진을 다운로드하기 위해 사용하고있는 코드는 다음과 같습니다Google 주소록 api (gdata)가 저해상도 사진을 동기화합니다.
public void UpdateUserPhoto(Contact contact, Stream photo)
{
_contactsRequest.SetPhoto(contact, photo);
}
public static void DownloadPhoto(ContactsRequest cr, Contact contact)
{
if (contact.PhotoEtag == null)
return;
Stream photoStream = cr.Service.Query(contact.PhotoUri);
FileStream outStream = File.OpenWrite(string.Format(@"c:\friends\{0}.jpg",contact.Name.FullName));
byte[] buffer;
using (var memoryStream = new MemoryStream())
{
photoStream.CopyTo(memoryStream);
buffer = memoryStream.ToArray();
}
outStream.Write(buffer, 0, buffer.Length);
photoStream.Close();
outStream.Close();
}
내 휴대폰에 연락처를 동기화 시도가 너무 크기가 항상 최대 96x96로 제한되었다. 내가 뭔가 잘못하고있는 중이거나 Google에서 96x96 이상 동기화를 허용하지 않습니까? 가능하다면 96x96 이상으로 연락처를 동기화하는 많은 응용 프로그램을 볼 수 있지만 올바른 방법은 무엇입니까?
편집 여기
피들러에 의해 포착 사진의 동기 & 검색은 다음과 같습니다
동기화 사진 요청 :
PUT https://www.google.com/m8/feeds/photos/media/[email protected]/55f3484e8aaf1c82 HTTP/1.1
Etag입니다 : "SomeEtag"
하는 경우 - 일치 : "SomeEtag."
콘텐츠 형식 : 이미지/JPG
사용자 에이전트 : G-GoogleContactsSync/GOAuth2RequestFactory-CS-버전 = 2.2.0.0
인증 : 무기명 myAuthorization
의 GData-버전 : 3.0
호스트 : www.google.com
콘텐츠 길이 : 34,480
동기화 사진 응답
HTTP/1.1 200 OK
콘텐츠 형식 : 응용 프로그램/원자 + XML; charset = UTF-8; type = entry
GData- 버전 : 3.1
ETag : "KgxxHGIyfCt7I2BoA047FShUNFU3BWx8RDQ."
날짜 : 2014년 10월 1일 (수) 그리니치 표준시 20시 13분 6초
이 만료 : 수요일, 2014년 10월 1일 그리니치 표준시 20시 13분 6초
캐시 제어 : = 0
X-Content-Type을 개인, 최대 사용 기간 -Options : nosniff
X 프레임 옵션 : SAMEORIGIN
X-XSS- 보호 : 1; 모드 = 블록
서버 : GSE
대체 프로토콜 : 443 : QUIC, P = 0.01
콘텐츠 길이 : 694
(여기에 아이디와 XML 등 편집, 업데이트가 온다)
사진 요청 :
GET https://www.google.com/m8/feeds/photos/media/[email protected]/55f3484e8aaf1c82 HTTP/1.1
콘텐츠 유형 : application/atom + xml; 문자셋 = UTF-8
사용자 에이전트 : G-GoogleContactsSync/GOAuth2RequestFactory-CS-버전 = 2.2.0.0
인증 : 무기명 myAuthorization
의 GData-버전 : 3.0
호스트 : www.google.com
사진 응답 :
HTTP/1.OK 1 200
콘텐츠 형식 : 이미지/JPEG
만료 : 2014년 (수) 그리니치 표준시 20시 25분 54초
날짜 10월 1일 : 2014년 10월 1일 (수) 그리니치 표준시 20시 25분 54초
캐시 제어 : 개인, GData-Version : 3.1
Vary : X-GData-Authorization, GData- 버전
GData 버전 : 3.1
ETag : "SomeEtag".
전송 - 인코딩 :
X-프레임 - 옵션 NOSNIFF :
X-Content-Type을-옵션을 청크 SAMEORIGIN
X-XSS-보호 : 1; 모드 = 블록
서버 : GSE
대체 프로토콜 : 443 : QUIC, P =
어떤 버전의 API를 요청하고 있습니까? 요청에서 version 매개 변수를 생략하면 기본적으로 v1로 설정되어 96x96 사진을 반환합니다. –
그것은 버전 3입니다. 내 업데이트를 참조하십시오 .. – atlanteh
내 대답을 수정했습니다 –