requestWithMethodName
新しい 3.0 Beta SDK for iOS のどこにもメソッドが見つかりません。皆さんはそれを削除しましたか? もしそうなら、どのように fql クエリを API に送信することになっていますか? それとも廃止されましたか?
質問する
2574 次
1 に答える
5
以下を使用して、メソッド名でリクエストを行うことができます。
[[[FBRequest alloc] initWithSession:...
restMethod:...
parameters:...
HTTPMethod:...]
startWithCompletionHandler:...];
ただし、次のように、FQL グラフ オブジェクトを使用して FQL クエリを作成することもできます。
FBRequest *fql = [FBRequest requestForGraphPath:@"fql"];
[fql.parameters setObject:@"SELECT uid, name, pic_square FROM user WHERE uid = me()"
@"OR uid IN (SELECT uid2 FROM friend WHERE uid1 = me())"
forKey:@"q"];
[fql startWithCompletionHandler:^(FBRequestConnection *connection,
id result,
NSError *error) {
if (result) {
NSLog(@"result:%@", result);
}
}];
最後に、オブジェクトで start を呼び出すのではなく、複数のリクエストをバッチ処理する場合は、次のようにFBRequest
、オブジェクトを作成してFBRequestConnection
start を呼び出す前に複数のリクエストを追加できます。
FBRequestConnection *conn = [[FBRequestConnection alloc] init];
[conn addRequest:fqlRequest1 completionHandler:^(FBRequestConnection *connection,
id result,
NSError *error) {
if (result) {
NSLog(@"result:%@", result);
}
}];
[conn addRequest:fqlRequest2 completionHandler:^(FBRequestConnection *connection,
id result,
NSError *error) {
if (result) {
NSLog(@"result:%@", result);
}
}];
[conn start];
SDK は、要求をサーバーへの単一のバッチ要求にシリアル化するだけでなく、応答を解析し、一致する結果またはエラーで正しいハンドラーを呼び出します。
ノート
グラフ API または残りの API のいずれかを使用して同じ結果を得ることができる場合は、残りの API よりもグラフ API を使用することをお勧めします。古い残りの API の廃止を進めています。
于 2012-07-15T03:01:54.983 に答える