IOS Facebook SDK 3 загрузить изображение с сообщением - программирование
Подтвердить что ты не робот

IOS Facebook SDK 3 загрузить изображение с сообщением

Я использую следующий код для загрузки изображения на стену Facebook:

UIImage *img = [UIImage imageNamed:@"logoits.png"];

[FBRequestConnection startForUploadPhoto:img
                       completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {

    NSLog(@"Facebook posting %@",result);
    NSLog(@"Facebook posting %@",error);

}];  

Он работает так, как ожидалось, но я хотел бы добавить сообщение или заголовок к этой загруженной фотографии и посмотреть документацию FBRequestConnection, нет примера этого. http://developers.facebook.com/docs/sdk-reference/iossdk/3.0/class/FBRequestConnection/

Как загрузить изображение с сообщением?

4b9b3361

Ответ 1

В Facebook SDK 3.0 только изображение может быть опубликовано с использованием указанных методов, а для других действий вам нужно использовать график pi.

Итак, для публикации изображения с сообщением вам нужно использовать graph-api. Вот строка кодов, которая позволяет вам размещать изображение с сообщением на временной шкале пользователя.

NSMutableDictionary* params = [[NSMutableDictionary alloc] init];
[params setObject:@"your custom message" forKey:@"message"];
[params setObject:UIImagePNGRepresentation(_image) forKey:@"picture"];
_shareToFbBtn.enabled = NO; //for not allowing multiple hits

[FBRequestConnection startWithGraphPath:@"me/photos"
                                 parameters:params
                                 HTTPMethod:@"POST"
                          completionHandler:^(FBRequestConnection *connection,
                                              id result,
                                              NSError *error) 
 {
     if (error) 
     {
         //showing an alert for failure
         [self alertWithTitle:@"Facebook" message:@"Unable to share the photo please try later."];
     } 
     else
     {
         //showing an alert for success
         [UIUtils alertWithTitle:@"Facebook" message:@"Shared the photo successfully"];
     }
     _shareToFbBtn.enabled = YES;
 }];

а также убедитесь, что _shareToFbBtn включен только после успешного входа в систему.

Ответ 2

Решение

linesvishy отлично работает, и стоит также отметить, что если вы использовали Facebook SDK 3.1, и вы использовали метод

FBRequest *request = [FBRequest requestForUploadPhoto:_imageToShare];

Вы можете использовать следующие строки для замены:

NSMutableDictionary* params = [[NSMutableDictionary alloc] init];
[params setObject:_textToShare forKey:@"message"];
[params setObject:_imageToShare forKey:@"picture"];
FBRequest *request = [FBRequest requestWithGraphPath:@"me/photos" parameters:params HTTPMethod:@"POST"];

Надеюсь, это поможет! Счастливое кодирование!