我正在使用谷歌聯繫人api(gdata)在谷歌聯繫人中設置聯繫人的照片。
我使用的是提琴手,我發現請求是根據Google Contacts Examples發送的,但從谷歌下載的照片總是96x96。
我使用的更新和下載照片中的代碼是:谷歌聯繫人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();
}
我試過的聯繫人同步到我的手機有過,規模總是限制在96×96。 我做錯了什麼或谷歌不允許同步超過96x96?我可以看到許多應用程序可以同步超過96x96的聯繫人,然後我猜這有可能,但是正確的方法是什麼?
編輯
這裏是照片的同步&檢索由提琴手所捕獲:
同步照片請求:
PUT https://www.google.com/m8/feeds/photos/media/[email protected]/55f3484e8aaf1c82 HTTP/1.1
的Etag: 「SomeEtag」
如果 - 匹配:「SomeEtag」。
內容類型:image/JPG
的User-Agent:G-GoogleContactsSync/GOAuth2RequestFactory-CS-版本= 2.2.0.0
授權:承載myAuthorization
的GData-版本:3.0
主機:www.google.com
內容長度:34480
同步光響應
HTTP/1.1 200 OK
內容類型:應用/原子+ xml的;字符集= UTF-8; type = entry
GData-Version:3.1
ETag:「KgxxHGIyfCt7I2BoA047FShUNFU3BWx8RDQ」。
日期:星期三,2014年10月1日20點13分06秒GMT
到期日:週三,2014年10月1日20點13分06秒GMT
緩存控制:私人,最大年齡= 0
X-Content-Type的-Options:nosniff
X-Frame-Options:SAMEORIGIN
X-XSS-Protection:1;模式=塊
服務器:GSE
複用協議:443:QUIC,p值= 0.01
的Content-Length:694
(下面是XML ID爲,更新,編輯等)
照片請求:
GET https://www.google.com/m8/feeds/photos/media/[email protected]/55f3484e8aaf1c82 HTTP/1.1
Content-Type:application/atom + xml;字符集= UTF-8
的User-Agent:G-GoogleContactsSync/GOAuth2RequestFactory-CS-版本= 2.2.0.0
授權:承載myAuthorization
的GData-版本:3.0
主機:www.google.com
圖片回覆:
HTTP/1。1 200 OK
內容類型:圖像/ JPEG
到期日:週三,2014年10月1日20點25分54秒GMT
日期:星期三,2014年10月1日20點25分54秒GMT
緩存控制:私人, max-age = 0,must-revalidate,no-transform
Vary:Accept,X-GData-Authorization,GData-Version
GData-Version:3.1
ETag:「SomeEtag」。
傳輸編碼:分塊
X-Content-Type的選項:nosniff
X框選項:SAMEORIGIN
X-XSS-保護:1;模式=塊
服務器:GSE
複用協議:443:QUIC,P = 0.01
您向哪個版本的API發出請求?如果您在請求中省略版本參數,則默認爲v1,這會返回96x96的照片。 – 2014-09-30 23:02:00
它的版本3.請參閱我的更新.. – atlanteh 2014-10-01 20:33:26
已修改我的答案 – 2014-10-05 17:01:20