2010-08-02 12 views
5

iPhone uygulamamda Facebook bağlantısı kurmayı ve uygulamanın uygulama aracılığıyla bir durum güncellemesi yüklemesini sağlamayı başardım. Artık fotoğrafların bir başlık veya durum güncellemesiyle birlikte yüklenmesine izin vermek için bir özellik eklemek istiyorum. Bunun için ilgili kodu bilen var mı?iPhone uygulamasıyla Facebook'ta resim yazısı veya durumu ile fotoğraf yükleme

Bence photos.upload API'yi FB'de kullanmam gerekiyor ama nasıl emin değilim. Facebook belgelerinin hepsi iPhone geliştirme için özel bir kod olmaksızın çok genel görünüyor. Herhangi bir yardım veya örnek kod takdir edilecektir.

cevap

10

Aşağıdaki kod parçacığı facebook-ios-sdk'dan alınmıştır. Bir facebook nesne zaten sınıf olan varsayarsak, bu yöntem, bir URL'den bir fotoğraf yükler (gerektiğinde değişiklik):

-(IBAction) uploadPhoto: (id)sender { 
    NSString *path = @"http://www.facebook.com/images/devsite/iphone_connect_btn.jpg"; 
    NSURL *url = [NSURL URLWithString:path]; 
    NSData *data = [NSData dataWithContentsOfURL:url]; 
    UIImage *img = [[UIImage alloc] initWithData:data]; 

    NSMutableDictionary * params = [NSMutableDictionary dictionaryWithObjectsAndKeys: 
            img, @"picture", 
            nil]; 
    [facebook requestWithMethodName: @"photos.upload" 
         andParams: params 
        andHttpMethod: @"POST" 
         andDelegate: self]; 
    [img release]; 
} 

Takip "mesaj" parametre anahtarını eklemelisiniz fotoğraflı bir başlık göndermek için, altyazı metni ile. Aşağıdaki gibi params değiştirme Bunu başarmak olmalıdır:

NSMutableDictionary * params = [NSMutableDictionary dictionaryWithObjectsAndKeys: 
           img, @"picture", 
       @"my photo's caption text here.", @"message" 
           nil]; 
+0

ben facebook örnek kodu kullanarak güçlük yaşıyorum. Sürekli bir hata kodu alıyorum İşlem tamamlanamadı. (FacebookErrDomain hata 101.)" Userınfo = 0x4b46da0 {request_args = ( { anahtar = yöntem değeri = "photos.upload"; } { anahtar = sdk; değeri = IOS, } { anahtar = "sdk_version"; değeri = 2; } { anahtar = biçimi; değeri = json;? } ), error_msg = Geçersiz API anahtarı, error_code 101} herkes ışık tutabilir = – Anthony

+1

İlk düşüncem, oturum açma gerçekleştiğinde @ "yayınla "kullanıcıya yayınlamanıza izin verilen istenen izinlerden biridir. Ne yazık ki, github örneğinin sadece: _permissions = [[NSArray arrayWithObjects: @ "read_stream", @ "offline_access", nil]]; @ "Publish_stream" ekle ve işe yaramalı. – dredful

+0

Kodu paylaştığınız için çok teşekkürler. Bana gerçekten çok yardımcı oldu ... karşı karşıya olduğum tek sorun, başlığımın yüklenmemesi. Ben tam olarak belirtilen aynı kodu kullanıyorum ama hiçbir resim yazısı alanına yüklenemiyorum. – Tobias

0

Sen şöyle iOS Facebook SDK kullanarak fotoğraf yükleyebilirsiniz:

FBSDKSharePhoto *photo=[[FBSDKSharePhoto alloc]init]; 
    photo.image=slideImage; 

    FBSDKSharePhotoContent *content = [[FBSDKSharePhotoContent alloc] init]; 
    content.photos = @[photo]; 

    [FBSDKShareDialog showFromViewController:self withContent:content delegate:self]; 

This works only if you configure iPhone Facebook settings. 
İlgili konular