Как сделать пост на Facebook с изображением, сохраненным на iPhone? - PullRequest
1 голос
/ 12 мая 2011


У меня есть приложение, в котором я должен опубликовать изображение на стене Facebook.
Теперь проблема в том, что я использовал GraphAPI facebook, и мне нужно передать ссылку на фотографию, но у меня есть фотография на моем iPhone, а не на любом сервере.
Итак, как мне опубликовать стену с изображением и другими параметрами без URL изображения?

Ответы [ 5 ]

2 голосов
/ 12 мая 2011

Вы можете использовать библиотеку NSURLConnection ASIHttpRequest для загрузки изображений с URL.

You will have to do the following:
1. Create a NSUrlConnection and implement the delegate methods
2. Pass the url in your request and you will get the data in -(void)connectionDidFinishLoading: (NSURLConnection *)connection
3. You can then create a UIImage from this data using UIImage *image = [[UIImage alloc] initWithData:activeDownloadData];
1 голос
/ 13 июня 2011
FBStreamDialog *dialog = [[[FBStreamDialog alloc] init] autorelease];
dialog.userMessagePrompt = @"Enter your message:";

NSDictionary *params = nil;
[[FBRequest requestWithDelegate:self] call:@"facebook.photos.upload" params:params dataParam:(NSData*)wallImage];
[dialog show];
0 голосов
/ 17 мая 2012

Попробуйте использовать BMSocialShare , это простая библиотека, которую я написал. Это именно то, что вы хотите. Загрузите какое-нибудь локальное изображение (и даже откройте диалоговое окно для пользователя, чтобы добавить комментарий) на стену пользователя:

BMFacebookPost *post = [[BMFacebookPost alloc] initWithImage:[UIImage imageNamed:@"image.png"]];
[[BMSocialShare sharedInstance] facebookPublish:post];
0 голосов
/ 04 июля 2011

Я изменил демонстрационное приложение facebook.Он использует модальное представление, чтобы выбрать изображение с вашего телефона.Вы можете использовать этот код, при условии, что вы должны добавить две кнопки (то есть кнопку selectPicture и кнопку uploadPhoto) - также обязательно добавьте UIViewController в файле .h:

/**
 * Upload a photo.
 */
- (IBAction)uploadPhoto:(id)sender {

  NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                 image, @"picture",
                                 nil];

  [_facebook requestWithGraphPath:@"me/photos"
                        andParams:params
                        andHttpMethod:@"POST"
                        andDelegate:self];

}

/**
 * Select a photo.
 */
- (void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    image = [info objectForKey:UIImagePickerControllerOriginalImage];
    [self dismissModalViewControllerAnimated:YES];
}

- (void) imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
    [self dismissModalViewControllerAnimated:YES];
}

- (IBAction) selectPicture:(UIButton *)sender;
{
    UIImagePickerController *picker = [[UIImagePickerController alloc] init];
    picker.delegate = self;
    [self presentModalViewController:picker animated:YES];
    [picker release];
}
0 голосов
/ 12 мая 2011

Редактировать:

-

На самом деле, публикация изображения на стене Facebook должна быть из Интернета.Таким образом, вам придется сначала загрузить изображение;возможно, воспользуйтесь сторонним сервисом, таким как twitpic или что-то в этом роде, верните URL-адрес ответа и поместите его в свои параметры.

-

Вы можете использовать следующее для публикации изображений в Facebook,Вы также можете заменить UIImage на физический URL.

NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                               kAppID, @"app_id",
                               @"http://bit.ly/dDZQXt", @"link",
                               @"www.has.to.be.web.based.com", @"picture",
                               EasyStrings(@"Mobile Profiles for ",device), @"name",
                               EasyStrings(@"Current Profile: ",currProfile), @"caption",
                               @"I am using Mobile Profiles for iPhone, iPod touch and iPad.", @"description",
                               message,  @"message",
                               nil];
[_facebook dialog:@"feed"
        andParams:params
      andDelegate:self];

Как это будет выглядеть:

enter image description here

Значок дома загружен из[UIImage imageNamed:@"something.png"].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...