我正在使用谷歌联系人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