iOS: Cómo get el selector de Facebook Album Photo

¿El SDK de Facebook iOS proporciona un álbum pnetworkingeterminado (Facebook) ? ¿El selector de fotos como UIImagePickerController hace?

Escuché de esto así que lo busqué de largo pero no pude encontrar nada.

Por favor, hágamelo saber si alguien tiene alguna idea al respecto. Si no es así, seguramente necesitaré hacer la mía.

Importar desde Facebook

sin una herramienta de terceros, obtenga una foto de Facebook del álbum Working For graph api 2.4, 2.5, 2.6,2.7,2.8 y Facebook graph api 2.10

1) Agregar una aplicación en la count de desarrollador de Facebook

2) luego elija la plataforma en la aplicación para una mejor comprensión vea la siguiente captura de pantalla

introduzca la descripción de la imagen aquí

3) Elija ios y siga la pantalla de todos los pasos en el asistente

4) luego vaya al gráfico api explore https://developers.facebook.com/tools/explorer/145634995501895/

5) select su aplicación en el gráfico api explorer Para get más información sobre la pantalla de visualización

introduzca la descripción de la imagen aquí

6) Haga clic en Obtener token .. luego click get token de acceso en un token get, podrá ver tantos permissions para comprender mejor ver imágenes

introduzca la descripción de la imagen aquí

7) Para verificar su permiso de encendido o apagado para get el nombre del álbum y las imágenes se muestran después de la captura de pantalla

introduzca la descripción de la imagen aquí

si el permiso user_photos no está activado, visualice el error, vea la siguiente captura de pantalla introduzca la descripción de la imagen aquí

Después de completar el paso 7, siga los pasos a continuación o simplemente descargue los files de encoding. He puesto un enlace donde puedes download

Codificación de files para el objective c

https://www.dropbox.com/s/1ysek035ek88xuw/FacebookAlbum%20Demo.zip?dl=0

8) si no hay ninguna visualización de error, entonces el código siguiente en su método viewDidLoad en el controller de vista. Este código para get el nombre del álbum y las identificaciones del álbum.

C objective

  FBSDKLoginManager *loginManager = [[FBSDKLoginManager alloc] init]; [loginManager logInWithReadPermissions:@[@"public_profile", @"email", @"user_friends",@"user_photos"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) { [[[FBSDKGraphRequest alloc] initWithGraphPath:@"me/albums" parameters: nil HTTPMethod:@"GET"] startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) { if (!error) { // NSLog("%@",result); NSArray *data = [result valueForKey:@"data"]; name = [data valueForKey:@"name"]; ids = [data valueForKey:@"id"]; [self.Fbtableview reloadData]; } }]; 

9) ahora obtienen fotos de portada del álbum siguiendo el tipo de código en la celda tableview para la fila

C objective

  coverid = [NSString stringWithFormat:@"/%@?fields=picture",[ids objectAtIndex:indexPath.row]]; **// pass album ids one by one** /* make the API call */ FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] initWithGraphPath:coverid parameters:nil HTTPMethod:@"GET"]; [request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) { // NSLog("%@",result); NSDictionary *pictureData = [result valueForKey:@"picture"]; NSDictionary *networkingata = [pictureData valueForKey:@"data"]; urlCover = [networkingata valueForKey:@"url"]; NSURL *strUrl = [NSURL URLWithString:[NSString stringWithFormat:@"%@",urlCover]]; NSData *data = [NSData dataWithContentsOfURL:strUrl]; UIImage *img = [[UIImage alloc] initWithData:data]; UIImageView *img1; if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { img1= [[UIImageView alloc]initWithFrame:CGRectMake(10, 0, 50, 50)]; } else { img1= [[UIImageView alloc]initWithFrame:CGRectMake(10, 0, 40, 40)]; } [img1 setImage:img]; [img1 setContentMode:UIViewContentModeScaleAspectFit]; [cell.contentView addSubview:img1]; }]; 

10) ahora codifica para get id de fotos del álbum.

  // code in **table didselect method** 

C objective

  NSString *strAlbumid = [NSString stringWithFormat:@"/%@/photos",[ids objectAtIndex:indexPath.row]]; FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] initWithGraphPath:strAlbumid parameters:nil HTTPMethod:@"GET"]; [request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) { // NSLog("%@",result); NSDictionary *data = [result valueForKey:@"data"]; arrId = [data valueForKey:@"id"]; PhotoViewControllerr *photoViewcontroller; if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { photoViewcontroller = [[PhotoViewControllerr alloc]initWithNibName:@"PhotoViewController_Ipad" bundle:nil]; } else { photoViewcontroller = [[PhotoViewControllerr alloc]initWithNibName:@"PhotoViewController" bundle:nil]; } photoViewcontroller.picsArray = arrId; [photoViewcontroller.navigationController setNavigationBarHidden:YES]; [[self navigationController] pushViewController: photoViewcontroller animated:YES]; }]; 

11) otro controller de vista uno ahora codifica para get imágenes en la vista de colección cellforRow

C objective

 NSString *strAlbumid = [NSString stringWithFormat:@"/%@/?fields=images",[self.picsArray objectAtIndex:indexPath.row]]; FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] initWithGraphPath:strAlbumid parameters:nil HTTPMethod:@"GET"]; [request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) { //NSLog("%@",result); picture_images = [result valueForKey:@"images"]; NSMutableArray *picCount = [picture_images objectAtIndex:picture_images.count - 1]; NSURL *strUrl = [NSURL URLWithString:[NSString stringWithFormat:@"%@",[picCount valueForKey:@"source"]]]; dispatch_queue_t q = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul); dispatch_async(q, ^{ /* Fetch the image from the server... */ NSData *data = [NSData dataWithContentsOfURL:strUrl]; UIImage *img = [[UIImage alloc] initWithData:data]; dispatch_async(dispatch_get_main_queue(), ^{ if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { img1= [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 200, 200)]; } else { img1= [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 100, 100)]; } img1.image = img; img1.contentMode = UIViewContentModeScaleAspectFit; [cell.contentView addSubview:img1]; }); }); }]; 

12) Después de get los datos, debe enviar su aplicación en Facebook para enviarlos, puede completar la información

1) detalles de la aplicación

2) estado y revisión

===

Si tienes alguna consulta, te ayudaré

enjoy.happy encoding.

Facebook iOS SDK no proporciona tal cosa por ahora. En cambio, encontré una class de terceros que hace exactamente lo mismo. https://github.com/OceanLabs/FacebookImagePicker-iOS/