2

現在のiOSグラフ方式では、ユーザーのプロフィール写真を正しく取得できないようです。

私の電話:self.pictureRequest = [facebook requestWithGraphPath:@"me/picture" andDelegate:self];

結果をどうするか:

-(void)request:(FBRequest *)request didLoad:(id)result{
    if(request == self.pictureRequest){
        UIImageView *image = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 500, 500)];
        image.image = [UIImage imageWithData:result];
        [self.view addSubview:image];
        NSLog("result is %@", result);
    }

だから私は今プロフィール写真を取得しようとしています。結果はコンソールにnullとして表示されます。これは私が実際に結果を得ていないことを意味すると思いますか?(試してみif(result) NSLog(@"got a result")ましたが、戻らないので、fbで結果が返ってこないのかな?)

何か案は?私もここで同様の問題を調べましたが、それらがどのように異なるのかわかりません: iOS経由でFacebookの写真を取得する際の問題

4

3 に答える 3

2

よく私はこのようなユーザーの写真や他の情報を取得することができます..それを試してみてください

- (void)fetchUserDetails {
    NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                   @"SELECT uid, name, pic, email FROM user WHERE uid=me()", @"query",nil];

    [fb requestWithMethodName:@"fql.query"
                                     andParams:params
                                 andHttpMethod:@"POST"
                                   andDelegate:self];


}//Call this function after the facebook didlogin

そしてリクエストでdidLoad

- (void)request:(FBRequest *)request didLoad:(id)result 
{

    if([request.url rangeOfString:@"fql.query"].location !=NSNotFound)
    {
        if ([result isKindOfClass:[NSArray class]] && [result count]>0) {
            result = [result objectAtIndex:0];
        }
        if ([result objectForKey:@"name"]) {

            self.fbUserName = [result objectForKey:@"name"];

           // Get the profile image
            UIImage *fbimage = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:[result objectForKey:@"pic"]]]];
}
于 2012-05-02T09:27:36.613 に答える
0

(@Malek_Jundiが提供するようなrequestWithMethodNameの代わりに)requestWithGraphパスを使用して画像のURLを取得したい場合は、ここで私の答えを参照してください:

iOS FacebookGraphAPIプロファイル画像リンク

于 2012-05-08T06:33:00.463 に答える
0

また、fbプロフィール写真のURLを取得することもできます。

NSString *userFbId;
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"https://graph.facebook.com/%@/picture", userFbId]];

NSData *imageData = [[NSData alloc] initWithContentsOfURL:url];
self.userProfileImage.image = [UIImage imageWithData:imageData];
于 2014-01-13T12:12:50.560 に答える