2011-12-10 13 views
0

私はアプリを持っています。それはスクリーンショットをとっており、コメントとともにユーザーの壁に掲示したいと思います。iOS&Facebook:壁にユーザーのコメントとともに画像をアップロード

問題がある、私は、一見すべてのオプションを試してみましたが、そのどれも機能しません:あなたが唯一のURLではなく、UIImageを供給することができますので、

  • [facebook dialog:@"feed" ...]

    は動作しません。ユーザーがコメントを入力するように求めされていないため、

  • [facebook requestWithGraphPath ...]は動作しません。

  • requestWithGraphPathのスクリーンショットをアップロードしてから、新しく作成したURLをdialogに送ってみると、「FBCDN画像はストリームで許可されていません」のために動作しません。これらのすべてはもちろん、ログインコールバックを含むコールバックを使用して、すばらしい大混乱になります。

  • は私もShareKitを試みたが、不思議なアプリが/ログインできなかったことができた後、それを忘れてしまいました。

どうすれば画像とコメントを共有できますか?

答えて

0

あなたは、Facebookの最新のiOS SDKを使用している場合は、Hackbookサンプルアプリでは、APICallsViewController.mファイルを探します。この方法はUIImageを使って直接投稿することができます:

/* 
* Graph API: Upload a photo. By default, when using me/photos the photo is uploaded 
* to the application album which is automatically created if it does not exist. 
*/ 
- (void) apiGraphUserPhotosPost { 
    NSString *sourcePath = [[NSBundle mainBundle] resourcePath]; 
    NSString *file1 = [sourcePath stringByAppendingPathComponent:@"/MP1101frame1002.jpg"]; 
    UIImage *img = [[[UIImage alloc]initWithContentsOfFile:file1]autorelease]; 

    [self showActivityIndicator]; 
    currentAPICall = kAPIGraphUserPhotosPost; 
    HackbookAppDelegate *delegate = (HackbookAppDelegate *) [[UIApplication sharedApplication] delegate]; 

    // Download a sample photo 
    NSURL *url = [NSURL URLWithString:@"http://www.facebook.com/images/devsite/iphone_connect_btn.jpg"]; 
    NSData *data = [NSData dataWithContentsOfURL:url]; 
// UIImage *img = [[UIImage alloc] initWithData:data]; //here you can insert your UIImage 
    NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys: 
            yourMessageHere, @"message", //whatever message goes here 
            img, @"picture", //img is your UIImage 
            nil]; 
    [[delegate facebook] requestWithGraphPath:@"me/photos" 
          andParams:params 
         andHttpMethod:@"POST" 
         andDelegate:self]; 
} 
+0

はい、私は画像をアップロードする方法を知っています。しかし、画像とともにコメントを投稿するには? –

+0

私はちょうどメッセージを含める方法を示す私の答えを編集しました。それは:yourMessageHere、@ "message"です。 yourMessageHereはNSStringです。 "message"はparams辞書のキーです。 – user523234

+0

"ユーザーにコメントの入力が求められないため、機能しません" - コメントを書くようにしたい場合はどうすればいいですか?私はCocoaでプロンプトを自分自身で実装する必要がありますか、Facebook APIを手助けする方法はありますか? –

0

あなたがまだの場合は、このアドレスにShareKitの最新の開発ブランチを試してみたいことがあります。 https://github.com/Sharekit/Sharekit

それは正規のバージョンの上にコミュニティによって追加大幅に改善されています。

関連する問題