如何从Gmail联系人获取朋友个人资料图片?
我正在尝试导入GMail联系人(好友列表)。我有朋友的邮件ID,姓名和电话号码,但是如果我试图让图片显示“401错误”。如何从Gmail联系人获取朋友个人资料图片?
我用的代码如下:
GDataLink *photoLink = [contact photoLink];
NSLog(@"%@",photoLink);
NSURL *imageURL = [photoLink URL];
NSLog(@"image url = %@",imageURL);
我怎样才能得到朋友的个人资料图片?我哪里做错了?
Looking at some other (public) code that's roughly the same as what you're doing,我看你应该使用身份验证令牌与这些照片的链接。如果没有该身份验证令牌,Google会认为您可能是恶意的,并会发回401错误。
E.G.
GDataLink *photoLink = [contact photoLink];
NSString *imageETag = [photoLink ETag];
if (imageETag == nil || ![mContactImageETag isEqual:imageETag]) {
if (imageETag != nil) {
// get an NSURLRequest object with an auth token
NSURL *imageURL = [photoLink URL];
GDataServiceGoogleContact *service = [self contactService];
// requestForURL:ETag:httpMethod: sets the user agent header of the
// request and, when using ClientLogin, adds the authorization header
NSMutableURLRequest *request = [service requestForURL:imageURL
ETag:nil
httpMethod:nil];
[request setValue:@"image/*" forHTTPHeaderField:@"Accept"];
GTMHTTPFetcher *fetcher = [GTMHTTPFetcher fetcherWithRequest:request];
[fetcher setAuthorizer:[service authorizer]];
[fetcher beginFetchWithDelegate:self
didFinishSelector:@selector(imageFetcher:finishedWithData:error:)];
}
}
}
喜其越来越崩溃,调用方法“@selector(imageFetcher:finishedWithData:错误:)” 提取程序的方法是 “ - (GDataServiceGoogleContact *)的ContactService { 静态GDataServiceGoogleContact *服务=零; if(!service){0}服务= [[GDataServiceGoogleContact alloc] init]; [service setShouldCacheResponseData:YES]; [service setServiceShouldFollowNextLinks:YES]; [service setAuthorizer:@“My Access Token”]; } return service; }' – Ann
当您的控制台登录时,典型的photoLink URL会是什么样子? –
https://www.google.com/m8/feeds/photos/media/username%40gmail.com/63402b0d25e6ad我有一个链接就像上面 – Ann
那么有没有其他方式来获取photolink网址? – Ann