AFNetworking通过POST将Facebook参数发送到服务器

时间:2013-10-27 16:06:45

标签: ios iphone objective-c facebook facebook-ios-sdk

我遇到了问题,我被困住了。 我想将我从Facebook获取的信息从iPhone发送到我的服务器。

服务器端功能有效,我尝试使用示例键,值和一个名为" CocoaRestClient"的工具。

我从以下网址提取数据:

NSDictionary<FBGraphUser> *user

这是我的参数:

 NSMutableDictionary *parameters = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                                    user.name, @"name",
                                                    user.id, @"uid",
                                                    user.first_name, @"firstname",
                                                    user.last_name, @"lastname",
                                                    [user objectForKey:@"email"], @"email",
                                                    [FBSession activeSession].accessTokenData.accessToken, @"access_token",
                                                    nil];

我的AFNetworking POST功能:

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
                 [manager POST:@"http://localhost:8888/iphonelogin" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
                     NSLog(@"JSON: %@", responseObject);
                 } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
                     NSLog(@"Error: %@", error);
                 }];

我在xCode中收到以下错误:

 Error: Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Cocoa error 3840.)" (JSON text did not start with array or object and option to allow fragments not set.) UserInfo=0x8b950c0 {NSDebugDescription=JSON text did not start with array or object and option to allow fragments not set.}

我的猜测:

我想NSDictionary值必须存在一些问题。我做了NSLog并获得了以下示例值,括号似乎不同。我可能需要Typecast吗?电子邮件值以某种方式保存在我的服务器上...非常感谢你,如果你可以帮助我。

输出参数的xCode NSLog:

{"access_token" = 324234sdfdfdt345345345345435;
    email = "myemail@mail.com";
    firstname = John;
    lastname = Doe;
    name = "John Doe";
    uid = 343434;}

PS:所有属性都存储为VARCHAR(255),但我的服务器上的UID除外。

如果我使用这个Cocoa Client进行测试,所有条目都会成功发布到我的表中:

Cocoa Client REST

0 个答案:

没有答案