正在从 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);
         }
     }];
}