facebook-ios-sdk请求名称和带有类型的个人资料图片不起作用

时间:2012-04-18 16:09:06

标签: facebook-graph-api request facebook-ios-sdk

我想像下面这样做,但它不起作用。

NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"first_name,picture?type=normal", @"fields",nil];
[facebook requestWithGraphPath:@"me" andParams:params andDelegate:self];

我正在使用的facebook-ios-sdk是here

如果我想在一个请求中要求它们,该怎么做?谢谢。

我使用了批量请求,如

NSString *jsonRequest1 = @"{ \"method\": \"GET\", \"relative_url\": \"me?fields=first_name\" }";
NSString *jsonRequest2 = @"{ \"method\": \"GET\", \"relative_url\": \"me/picture?type=square\" }";
NSString *jsonRequestsArray = [NSString stringWithFormat:@"[ %@, %@ ]", jsonRequest1, jsonRequest2];
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObject:jsonRequestsArray forKey:@"batch"];
[facebookDelegate requestWithGraphPath:@"me" andParams:params andHttpMethod:@"POST" andDelegate:self];

我得到的结果是

({
body = "{\"first_name\":\"Eric\",\"id\":\"100003742445201\"}";
code = 200;
headers =     (
            {
        name = "Access-Control-Allow-Origin";
        value = "*";
    },
            {
        name = "Cache-Control";
        value = "private, no-cache, no-store, must-revalidate";
    },
            {
        name = Connection;
        value = close;
    },
            {
        name = "Content-Type";
        value = "text/javascript; charset=UTF-8";
    },
            {
        name = ETag;
        value = "\"3be1c3dfc20761062712ae899cc7c402062300a7\"";
    },
            {
        name = Expires;
        value = "Sat, 01 Jan 2000 00:00:00 GMT";
    },
            {
        name = Pragma;
        value = "no-cache";
    }
);},
{
body = "<null>";
code = 302;
headers =     (
            {
        name = "Access-Control-Allow-Origin";
        value = "*";
    },
            {
        name = "Cache-Control";
        value = "private, no-cache, no-store, must-revalidate";
    },
            {
        name = Connection;
        value = close;
    },
            {
        name = "Content-Type";
        value = "image/jpeg";
    },
            {
        name = Expires;
        value = "Sat, 01 Jan 2000 00:00:00 GMT";
    },
            {
        name = Location;
        value = "http://profile.ak.fbcdn.net/hprofile-ak-snc4/573359_100003742445201_1494953237_q.jpg";
    },
            {
        name = Pragma;
        value = "no-cache";
    }
);
}
)

个人资料图片位置不正确。为什么呢?

1 个答案:

答案 0 :(得分:0)

以下是使用ios-sdk的样本批次


请参阅https://stackoverflow.com/a/5503010/912623以获取完整示例。

-(void) prepareMyBatchRequest {
    NSString *jsonRequest1 = @"{ \"method\": \"GET\", \"relative_url\": \"me?fields=first_name,picture\" }";
    NSString *jsonRequest2 = @"{ \"method\": \"GET\", \"relative_url\": \"me\" }";
    NSString *jsonRequestsArray = [NSString stringWithFormat:@"[ %@, %@ ]", jsonRequest1, jsonRequest2];
    NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObject:jsonRequestsArray forKey:@"batch"];
    [facebook requestWithGraphPath:@"me" andParams:params andHttpMethod:@"POST" andDelegate:self];
}