8

新しいFacebookSDKでユーザーのプロフィール写真を取得するのに問題があります。ここでのすべての回答は、機能しなくなった古いSDKのメソッドを使用しています。

Facebookのチュートリアルで推奨されているFBProfilePictureViewを使用してみましたが、この画像はキャッシュされず、UIImageに変換できないと思います。

誰か助けてもらえますか?ありがとう!

4

5 に答える 5

14

OK、私はついに以下を使用してこれを手に入れました:

imageData = [[NSMutableData alloc] init]; // the image will be loaded in here
NSString *urlString = [NSString stringWithFormat:@"http://graph.facebook.com/%@/picture?type=large", user.id];
NSMutableURLRequest *urlRequest =
[NSMutableURLRequest requestWithURL:[NSURL URLWithString:urlString]
                                     cachePolicy:NSURLRequestUseProtocolCachePolicy
                                 timeoutInterval:2];

// Run request asynchronously
NSURLConnection *urlConnection = [[NSURLConnection alloc] initWithRequest:urlRequest
                                                                              delegate:self];
if (!urlConnection)
        NSLog(@"Failed to download picture");

それから私はとを使っ-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data-(void)connectionDidFinishLoading:(NSURLConnection *)connection画像をまとめました。

于 2012-08-29T05:49:41.130 に答える
9

私が見つけた最善の解決策:AFNetworkinghttps://github.com/AFNetworking/AFNetworkingのUIImageを使用しまし。リダイレクトとキャッシュを処理するため、所有しているすべてのユーザーIDのプロフィール写真を取得できます。

NSString *imageUrl = [NSString stringWithFormat:@"http://graph.facebook.com/%@/picture", ((NSDictionary<FBGraphUser> *) [self.friends objectAtIndex: indexPath.row]).id];
[friendCell.imageView setImageWithURL:[NSURL URLWithString:imageUrl] placeholderImage:[UIImage imageNamed:@"profile.jpg"]];
于 2013-07-04T04:46:58.033 に答える
1

https://github.com/rs/SDWebImageを使用して画像をキャッシュします。画像をリクエストするURLは次のようになります

NSString *string = [NSString stringWithFormat:@"https://graph.facebook.com/%@?fields=picture", userid];
于 2012-12-19T14:49:59.033 に答える
0

問題が「self.userPofilePicture.profileID=user.id;」に関連している場合。

次に、self.userProfilePictureはUIViewを返すので、Viewを取得して表示します。

IdentityInspectorのクラスFBProfilePictureViewと[FBProfilePictureViewクラス]をAppDelegate実装ファイルに追加することを忘れないでください。

これがお役に立てば幸いです。

于 2013-03-07T07:39:37.403 に答える
0

リンクを使用してください:

https://graph.facebook.com/me?fields=picture

現在のユーザーのプロフィール写真を取得します。

Facebookには、クエリを試したり、返された出力を確認したりするときに便利なGraphAPIエクスプローラーツールが用意されています。

これがユーザーAPIリファレンスへのリンクです。

于 2012-08-29T03:59:36.553 に答える