1

テキストを入力するユーザーオプションとともに、FacebookダイアログからFacebookに投稿するには、URLの代わりにuiimage(アプリから取得したスクリーンショット)を投稿する必要があります。どのようにそれを達成することができます。いくつかの助けをいただければ幸いです。

4

2 に答える 2

0

fbconnect を介して Facebook に画像を投稿するには、fbconnect API を使用していくつかの手順を実行する必要があります。

  1. Facebookにログインする必要があり、アクセスキーと有効期限について確認します。

  2. それらがnilでない場合、そこに画像を投稿します。

    NSData *imageData = UIImagePNGRepresentation(cellImageView.image);
    NSMutableDictionary *params = [[NSMutableDictionary alloc]initWithObjectsAndKeys:@"app name",@"message",imageData,@"source", nil];
    [facebook requestWithGraphPath:@"me/photos" andParams:params andHttpMethod:@"POST" andDelegate:self];
    

そうでない場合は、アクセス キーと有効期限キーを取得してから、上記のイメージ ポスト コードに移動します。

詳細については、fbconnect api をダウンロードしてログインを確認し、ブレーキポイントを含むコードを確認してください。

このユーザーには、ログイン デリゲートと fb リクエスト デリゲートが必要です。

また、facebook obj を app id で初期化し、デリゲート self を設定することも忘れないでください。

于 2012-12-11T05:35:01.500 に答える
0

写真の部分を投稿するには、このようなことを試すことができます。テキストは単なる別のフィールドだと確信しています。

@try {
     // make sure your permissions are set
     NSArray *permissions = [[NSArray alloc] initWithObjects:
     @"publish_stream",
     nil];

        [FBSession openActiveSessionWithPublishPermissions:permissions
                                           defaultAudience:FBSessionDefaultAudienceOnlyMe
                                              allowLoginUI:NO
                                         completionHandler:^(FBSession *session, FBSessionState state, NSError *error){
                                             NSLog(@"completion handler.");
                                         }];



        [FBRequestConnection startForUploadPhoto:imageToUpload
                               completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
                                   if (!error) {
                                       UIAlertView *tmp = [[UIAlertView alloc]
                                                           initWithTitle:@"Success"
                                                           message:@"Photo Uploaded!"
                                                           delegate:self
                                                           cancelButtonTitle:nil
                                                           otherButtonTitles:@"Ok", nil];

                                       [tmp show];
                                   } else {
                                       UIAlertView *tmp = [[UIAlertView alloc]
                                                           initWithTitle:@"Error"
                                                           message:@"Error uploading image to Facebook."
                                                           delegate:self
                                                           cancelButtonTitle:nil
                                                           otherButtonTitles:@"Ok", nil];

                                       [tmp show];

                                   }
                               }];

    }
    @catch (NSException *exception) {
        NSLog(@"-----> !! ERROR UPLOADING IMAGE TO FACEBOOK !!");
    }
于 2012-12-11T05:40:33.217 に答える