0

我有一个问题,我被卡住了。我想将我从 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 并得到了以下示例值,括号似乎不同。我是否必须进行类型转换?电子邮件值以某种方式保存在我的服务器上...如果您能帮助我,非常感谢。

输出参数的xCode NSLog:

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

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

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

可可客户端 REST

4

0 回答 0