teléfono - Cómo pasar a la siguiente página en Facebook Respuesta de JSON usando iOS SDK?
pasar contactos de iphone a xiaomi (5)
Sí, puede obtener el resultado llamando a la función en api Utilicé el código siguiente para obtener los estados de los usuarios en su caso, puede usar el método stream.get, puede encontrarlo aquí http://developers.facebook.com/docs/reference /rest/stream.get/
NSMutableDictionary * params = [[NSMutableDictionary alloc] init];
[params setValue:[NSString stringWithFormat:@"%@", appDelegate.user_id] forKey:@"uid"];
[params setValue:@"150" forKey:@"limit"];
[params setValue:@"results" forKey:@"callback"];
[_facebook requestWithMethodName: @"status.get"
andParams: params
andHttpMethod: @"POST"
andDelegate: self];
Puede usar este código para su propósito.
En Facebook iOS SDK, puedo solicitar consultas como esta:
[_facebook requestWithGraphPath:@"me/feed" andDelegate:self];
Pero a menudo Facebook dará una respuesta JSON limitada con una URL que se utilizará para solicitar el traslado a fechas anteriores, por ejemplo. Entonces, en la respuesta JSON tendré:
data = ( /*things here... status updates, photos, etc...*/
);
paging = {
next = "https://graph.facebook.com/me/feed?sdk=ios&sdk_version=2&access_token= <something>&until=2010-12-04";
previous = "https://graph.facebook.com/me/feed?sdk=ios&sdk_version=2&access_token=<something>&since=<something>";
};
Lo que me pregunto es ... ¿Cómo voy a la URL anterior? ¿El SDK proporciona una interfaz para hacer esto?
EDITAR: Si es posible, en realidad quiero responder con Graph API, ya que Facebook actualmente está desaprobando la API REST.
BONIFICACIÓN: Si alguien puede explicar el formato de tiempo devuelto por Facebook. Tengo 2010-09-13T00%3A25%3A16%2B0000
como ejemplo.
Puedes hacer algo como esto:
[appDelegate.fb requestWithGraphPath:@"me/home"
andParams:[NSMutableDictionary dictionaryWithObject:@"2011-01-27T04%3A48%3A50%2B0000" forKey:@"since"]
andDelegate:self];
Tenga en cuenta que, en la parte de paging
de su feed, las URL next
y previous
difieren solo en un parámetro de consulta ( until
y since
). Puede usar los valores que toma de esto para obtener la página de resultados siguiente y anterior.
¡Espero que esto ayude!
todo lo que necesita que agregue un método a la subclase de Facebook o a sí mismo
- (void)requestWithURLString:(NSString *)fullURL
andHttpMethod:(NSString *)httpMethod
andDelegate:(id <FBRequestDelegate>)delegate {
[self openUrl:fullURL params:nil httpMethod:httpMethod delegate:delegate];
}
ps el segundo parámetro "httpMethod" puede ser siempre @ "GET" puede omitirlo
Al menos en lo que respecta al formato de fecha, es una variante del formato RFC 3339. Por lo que sé, iOS no tiene un formateador predefinido de ese tipo.
Creo un formateador de fecha y lo mantengo (son extrañamente lentas de crear) por lo que puedo convertirlos fácilmente cuando trabajo con datos de FB.
NSDateFormatter * sRFC3339DateFormatter = nil;
NSLocale * enUSPOSIXLocale;
sRFC3339DateFormatter = [[NSDateFormatter alloc] init];
enUSPOSIXLocale = [[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"] autorelease];
[sRFC3339DateFormatter setLocale:enUSPOSIXLocale];
[sRFC3339DateFormatter setDateFormat:@"yyyy''-''MM''-''dd''T''HH'':''mm'':''ssZ"];
[sRFC3339DateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
Una vez que tenga un formateador de este tipo, puede convertir fácilmente hacia adelante y hacia atrás.
NSDate* myDate = nil;
myDate = [sRFC3339DateFormatter dateFromString:@"2011-01-27T04%3A48%3A50%2B0000"];
Romper la URL en un diccionario de cadenas es bastante sencillo con los métodos NSURL.
Con la versión 3 del SDK de iOS de Facebook , la respuesta original ya no se aplica a la versión actual.
Tuve que hacer algunas excavaciones, porque la nueva versión no hace esto más fácil. Encontré un ejemplo de cómo hacer esto en la clase FBGraphObjectPagingLoader que proporciona el nuevo SDK para ayudar a hacer esto para las tablas. Es increíblemente feo, pero supongo que es el método "recomendado" ya que es lo que usan.
Aquí está mi pequeña modificación de su código (que se encuentra originalmente en el método followNextLink de FBGraphObjectPagingLoader )
FBRequest *request = [[[FBRequest alloc] initWithSession:FBSession.activeSession graphPath:nil] autorelease];
FBRequestConnection *connection = [[[FBRequestConnection alloc] init] autorelease];
[connection addRequest:request completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
// Do some stuff
}];
// Override the URL using the one passed back in ''next''.
NSURL *url = [NSURL URLWithString:urlString];
NSMutableURLRequest* urlRequest = [NSMutableURLRequest requestWithURL:url];
connection.urlRequest = urlRequest;
[connection start];
Por supuesto, podría modificar su biblioteca y encapsular esto en la clase si quisiera.