0

問題があり、立ち往生しています。Facebook から取得した自分の情報を iPhone から自分のサーバーに送信したいと考えています。

Server Sided Function は機能します。サンプルのキー、値、および「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: 私のサーバーでは UID が bigint であることを除いて、すべての属性は VARCHAR(255) として保存されます。

この Cocoa クライアントをテストに使用すると、すべてのエントリがテーブルに正常にポストされます。

ココア クライアント REST

4

0 に答える 0