2016-04-06 17 views
0
 NSURL *pictureURL = [NSURL URLWithString:[NSString stringWithFormat:@"https://graph.facebook.com/%@/picture?type=large&return_ssl_resources=1", facebookID]];  

     NSString *urlString = [pictureURL absoluteString]; 
     FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:nil]; 
     [request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) { 
      if (!error) { 
       // result is a dictionary with the user's Facebook data 
       NSDictionary *userData = (NSDictionary *)result; 
       NSString *facebookID = userData[@"id"]; 

       NSURL *pictureURL = [NSURL URLWithString:[NSString stringWithFormat:@"https://graph.facebook.com/%@/picture?type=large&return_ssl_resources=1", facebookID]]; 

       NSString *urlString = [pictureURL absoluteString]; 
       NSLog(@"sting=%@",urlString); 


       PFUser *me = [PFUser currentUser]; 

       me[@"facebookId"] = userData[@"id"]; 
       me["pictureURL"] = userData[urlString]; 
       me[@"username"] = userData[@"name"]; 
       [me saveInBackgroundWithBlock:^(BOOL succeeded, NSError * _Nullable error) { 
        if (error) { 
         NSLog(@"Error to store=%@",error.localizedDescription); 
        } 
       }]; 
       [self presentViewController:push animated:YES completion:nil]; 

      } else { 
        [self presentViewController:push animated:YES completion:nil]; 
       } 
     }]; 

新しいユーザーが自分のアプリにログインしたときにFacebookの画像やURLを保存する必要があります。 AFAIK私たちはURLを直接保存することはできませんので、NSStringに変換しようとしましたが、エラー "'PFObjectのキーや値にnilを使用できません。そのリンクや画像をParseに直接保存するための別の方法を保存することができますか?パースの画像/ URLを保存DB

+0

問題を実際に引き起こしているコードを表示するために質問を更新する必要があります。 – rmaddy

+0

上記のコードを更新しました。チェックしてください。 –

答えて

0

:あなたが最も可能性が高いこれがしたい

me["pictureURL"] = userData[urlString]; 

me["pictureURL"] = urlString; 

あなたがそれを持っているとして、あなたはnilからme[@"pictureURL"]を設定しますので、キー一致のuserDataにはおそらく値がありません。urlStringです。

+0

ありがとうございます。できます。 –

0

これを試すと、URLはデータに変換してからPFFileとして保存する必要があります。

NSURL *pictureURL = [NSURL URLWithString:[NSString stringWithFormat:@"https://graph.facebook.com/%@/picture? type=large&return_ssl_resources=1", facebookID]]; 

NSData *data = [NSData contentsOfURL:picureURL]; 
PFFile *file = [PFFile fileWithData:data]; 

//save it 
[file saveInBackground]; 

希望します。

あなたの問題が最も可能性の高い次の行によって引き起こされている
+0

良い答えは、OPが間違っていたことを説明し、その答えがどのように問題を解決するかを説明します。単に説明と単純な状態 "助けてほしい"とコードを投稿しないでください。どのように役立ちますか? – rmaddy