正在从 google 张照片 Objective c 中获取照片 [iOS]
Fetching Photos from google photos Objective c [iOS]
尝试了很多方法来使用 picasa 网络相册和 Google 驱动器从 Google 照片中获取照片,但我无法实现 result.Please 让我知道如何获取 google 照片单独和下面的编码显示仅像 Pdf 文档等驱动器,但我需要照片...是否有任何查询我需要实现而不是文件或 id.The 示例编码基于 Mac 并且没有iOS 和 XML 格式的所有内容的正确解决方案请指导我克服这个问题。
GTLRDriveQuery_FilesList *query = [GTLRDriveQuery_FilesList query];
query.fields = @"nextPageToken, files(id, name)";
query.pageSize = 10;
[self.service executeQuery:query
delegate:self
didFinishSelector:@selector(displayResultWithTicket:finishedWithObject:error:)];
- (void)displayResultWithTicket:(GTLRServiceTicket *)ticket
finishedWithObject:(GTLRDrive_FileList *)result
error:(NSError *)error
{
if (error == nil)
{
NSMutableString *output = [[NSMutableString alloc] init];
if (result.files.count > 0)
{
[output appendString:@"Files:\n"];
int count = 1;
for (GTLRDrive_File *file in result.files)
{
[FileString appendFormat:@"%@ (%@)\n", file.name, file.imageMediaMetadata];
count++;
NSLog(@"PrintFileString %@",file);
}
} else
{
[output appendString:@"No files found."];
}
self.output.text = output;
} else
{
NSMutableString *message = [[NSMutableString alloc] init];
[message appendFormat:@"Error getting presentation data: %@\n", error.localizedDescription];
[self showAlert:@"Error" message:message];
}
}
好吧,我终于用 Google 驱动器获取了 google 照片,希望这个答案对 future.Many 中有人建议的 Picasa 有用,但我用 google 实现了它drive.I 会让你知道步骤
1) 安装 Pod
pod 'GoogleAPIClientForREST/Drive', '~> 1.2.1'
ViewController.h
@property (nonatomic, strong) GTLRDriveService *service;
ViewDidLoad
GIDSignIn* signIn = [GIDSignIn sharedInstance];
signIn.delegate = self;
signIn.uiDelegate = self;
signIn.scopes = [NSArray arrayWithObjects:kGTLRAuthScopeDrivePhotosReadonly, nil];
[signIn signInSilently];
// Initialize the service object.
self.service = [[GTLRDriveService alloc] init];
self.service.shouldFetchNextPages = YES;
登录并获得许可后,它将重定向到此方法
- (void)signIn:(GIDSignIn *)signIn
didSignInForUser:(GIDGoogleUser *)user
withError:(NSError *)error
{
if (error != nil)
{
self.service.authorizer = nil;
}
else
{
self.service.authorizer = user.authentication.fetcherAuthorizer;
[self listFiles];
}
}
正在获取照片并存储在 NsmutableArray 中
//Google photos是Nsmutablearray
- (void)listFiles
{
GTLRDriveQuery_FilesList *query = [GTLRDriveQuery_FilesList query];
query.q = @"mimeType='image/jpeg'";
query.spaces = @"photos";
query.pageSize = 200;
query.fields = @"nextPageToken,files(id,name,mimeType,thumbnailLink,originalFilename)";
[self.service executeQuery:query completionHandler:^(GTLRServiceTicket *ticket,
GTLRDrive_FileList *result,
NSError *error)
{
if (error == nil)
{
[GooglePhotos removeAllObjects];
for (GTLRDrive_File *fileInput in result.files)
{
[SVProgressHUD show];
NSMutableDictionary*Mydiction=[[NSMutableDictionary alloc]init];
[Mydiction setObject:fileInput.thumbnailLink forKey:@"IMAGEURL"];
[Mydiction setObject:fileInput.identifier forKey:@"UNIQUEKEY"];
[Mydiction setObject:fileInput.originalFilename forKey:@"ORIGINALFILENAME"];
[Mydiction setObject:fileInput.name forKey:@"NAME"];
[Mydiction setObject:fileInput.mimeType forKey:@"MIMETYPE"];
[GooglePhotos removeObject:Mydiction];
[GooglePhotos addObject:Mydiction];
// NSLog(@"PrintDetails %@",GooglePhotos);
}
[SVProgressHUD dismiss];
} else
{
NSLog(@"An error occurred: %@", error);
}
}];
}
尝试了很多方法来使用 picasa 网络相册和 Google 驱动器从 Google 照片中获取照片,但我无法实现 result.Please 让我知道如何获取 google 照片单独和下面的编码显示仅像 Pdf 文档等驱动器,但我需要照片...是否有任何查询我需要实现而不是文件或 id.The 示例编码基于 Mac 并且没有iOS 和 XML 格式的所有内容的正确解决方案请指导我克服这个问题。
GTLRDriveQuery_FilesList *query = [GTLRDriveQuery_FilesList query];
query.fields = @"nextPageToken, files(id, name)";
query.pageSize = 10;
[self.service executeQuery:query
delegate:self
didFinishSelector:@selector(displayResultWithTicket:finishedWithObject:error:)];
- (void)displayResultWithTicket:(GTLRServiceTicket *)ticket
finishedWithObject:(GTLRDrive_FileList *)result
error:(NSError *)error
{
if (error == nil)
{
NSMutableString *output = [[NSMutableString alloc] init];
if (result.files.count > 0)
{
[output appendString:@"Files:\n"];
int count = 1;
for (GTLRDrive_File *file in result.files)
{
[FileString appendFormat:@"%@ (%@)\n", file.name, file.imageMediaMetadata];
count++;
NSLog(@"PrintFileString %@",file);
}
} else
{
[output appendString:@"No files found."];
}
self.output.text = output;
} else
{
NSMutableString *message = [[NSMutableString alloc] init];
[message appendFormat:@"Error getting presentation data: %@\n", error.localizedDescription];
[self showAlert:@"Error" message:message];
}
}
好吧,我终于用 Google 驱动器获取了 google 照片,希望这个答案对 future.Many 中有人建议的 Picasa 有用,但我用 google 实现了它drive.I 会让你知道步骤
1) 安装 Pod
pod 'GoogleAPIClientForREST/Drive', '~> 1.2.1'
ViewController.h
@property (nonatomic, strong) GTLRDriveService *service;
ViewDidLoad
GIDSignIn* signIn = [GIDSignIn sharedInstance];
signIn.delegate = self;
signIn.uiDelegate = self;
signIn.scopes = [NSArray arrayWithObjects:kGTLRAuthScopeDrivePhotosReadonly, nil];
[signIn signInSilently];
// Initialize the service object.
self.service = [[GTLRDriveService alloc] init];
self.service.shouldFetchNextPages = YES;
登录并获得许可后,它将重定向到此方法
- (void)signIn:(GIDSignIn *)signIn
didSignInForUser:(GIDGoogleUser *)user
withError:(NSError *)error
{
if (error != nil)
{
self.service.authorizer = nil;
}
else
{
self.service.authorizer = user.authentication.fetcherAuthorizer;
[self listFiles];
}
}
正在获取照片并存储在 NsmutableArray 中
//Google photos是Nsmutablearray
- (void)listFiles
{
GTLRDriveQuery_FilesList *query = [GTLRDriveQuery_FilesList query];
query.q = @"mimeType='image/jpeg'";
query.spaces = @"photos";
query.pageSize = 200;
query.fields = @"nextPageToken,files(id,name,mimeType,thumbnailLink,originalFilename)";
[self.service executeQuery:query completionHandler:^(GTLRServiceTicket *ticket,
GTLRDrive_FileList *result,
NSError *error)
{
if (error == nil)
{
[GooglePhotos removeAllObjects];
for (GTLRDrive_File *fileInput in result.files)
{
[SVProgressHUD show];
NSMutableDictionary*Mydiction=[[NSMutableDictionary alloc]init];
[Mydiction setObject:fileInput.thumbnailLink forKey:@"IMAGEURL"];
[Mydiction setObject:fileInput.identifier forKey:@"UNIQUEKEY"];
[Mydiction setObject:fileInput.originalFilename forKey:@"ORIGINALFILENAME"];
[Mydiction setObject:fileInput.name forKey:@"NAME"];
[Mydiction setObject:fileInput.mimeType forKey:@"MIMETYPE"];
[GooglePhotos removeObject:Mydiction];
[GooglePhotos addObject:Mydiction];
// NSLog(@"PrintDetails %@",GooglePhotos);
}
[SVProgressHUD dismiss];
} else
{
NSLog(@"An error occurred: %@", error);
}
}];
}