-1

私のアプリでは、特定の投稿に対するいいねの数を明示的に表示したいと考えています。FaceBook から POST ID を使用してこの情報を取得するための API 呼び出しはありますか?

4

2 に答える 2

2

FB オブジェクトで新しいリクエストを呼び出すだけです。

[facebook requestWithGraphPath:@"ID/likes"];

ID関心のある投稿の Facebook ID に置き換えます。この呼び出しは、その写真のすべての類似情報を含む配列を返します。

この-facebook requestDidLoad:メソッドでは、その配列のカウントを取得して、いいねの数を返します。

NSInteger likeCount = [result count];

于 2013-07-29T08:01:53.133 に答える
0

私はこれに対する解決策を自分で見つけました。これが私がした方法です

- (IBAction)likes_count:(id)sender {

    [self requestGraph: @"123456789876543?fields=likes.limit(1000)" sender:^(int count) {

        textView.text = [NSString stringWithFormat:@"%d", count];
        likesCount = 0;

    }];

}

-(void)requestGraph: (NSString*) fbRequest sender: (void (^)(int count))callback {

    likes_count.enabled = FALSE;
    FBRequest *like = [FBRequest requestForGraphPath:fbRequest];

    [like startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error)  {

        if(likesCount == 0)
            likesCount = [result [@"likes"][@"data"]  count];
        else
            likesCount = likesCount + [result [@"data"]  count];


        if (result [@"likes"][@"paging"] [@"next"] != NULL) {

            [self requestGraph:[result [@"likes"][@"paging"] [@"next"] substringFromIndex:27] sender:callback ];
        }
        else if (result [@"paging"] [@"next"]  != NULL)
            [self requestGraph:[result [@"paging"] [@"next"] substringFromIndex:27] sender:callback];

        else {

            callback(likesCount);
            likes_count.enabled = TRUE;
        }

    }]; 
}
于 2013-09-12T10:09:00.093 に答える