我遇到了问题,我被困住了。 我想将我从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进行测试,所有条目都会成功发布到我的表中: