iOS SDK разместив ссылку и отобразив миниатюру - PullRequest
4 голосов
/ 28 июня 2011

Мне удалось довольно хорошо внедрить Facebook iOS SDK в мой проект с помощью предоставленной документации FB.

Интеграция FB моего приложения довольно проста: кнопка «Поделиться» на Facebook, которая позволяет пользователю опубликовать ссылку на свою стену FB с предоставленным пользователем комментарием. Ничего потрясающего или разрушающего.

Однако я бы хотел сделать еще один шаг вперед. У меня нет эскиза для ссылки (т. Е. URL моего собственного изображения), но я бы хотел, чтобы миниатюра автоматически выбиралась в Facebook.

Аналогично тому, как на Facebook в веб-браузере, если вы решите поделиться ссылкой с CNN.com, Facebook автоматически выберет миниатюры для желаемой страницы, к которой будет предоставлен общий доступ, и даже даст вам возможность установить флажок «нет». Ленфильм».

В диалоге iOS, чтобы поделиться ссылкой, я бы хотел, чтобы миниатюра автоматически выбиралась (предположительно, она генерируется из ссылки, которой вы пытаетесь поделиться, т.е. FB просто захватывает изображения со страницы).

Возможно ли это? Опять же, я не хочу отображать «изображение» с предоставленным URL-адресом изображения в NSDictionary «вложения» ниже, потому что у меня не будет URL-адреса изображения. Я просто хочу отобразить гиперссылку, чтобы FB опубликовал ссылку на стене пользователя со своим комментарием, а FB предоставил миниатюрное изображение (аналогично тому, как если бы вы отправили сообщение из веб-браузера).

В основном код из переполнения стека:

SBJSON *jsonWriter = [[SBJSON new] autorelease];

NSDictionary* actionLinks = [NSArray arrayWithObjects:[NSDictionary     
dictionaryWithObjectsAndKeys: @"Always Running", @"text", @"http://itsti.me/", @"href", 
nil], nil];

NSString *actionLinksStr = [jsonWriter stringWithObject:actionLinks];
NSDictionary* attachment = [NSDictionary dictionaryWithObjectsAndKeys:
                           @"a long run", @"name",
                           @"The Facebook Running app", @"caption",
                           @"it is fun", @"description",
                           @"http://itsti.me/", @"href", nil];

NSString *attachmentStr = [jsonWriter stringWithObject:attachment];
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                             @"Share on Facebook",  @"user_message_prompt",
                             actionLinksStr, @"action_links",
                             attachmentStr, @"attachment",
                             nil];

[_facebook dialog:@"stream.publish" andParams:params andDelegate:self];

Ответы [ 2 ]

1 голос
/ 24 августа 2011

Другой подход к этому состоит в вызове Graph API вместо использования диалога. Поэтому, если вы сделаете HTTP POST для https://graph.facebook.com/me/feed и предоставите параметры сообщения и ссылки, Facebook должен автоматически выбрать изображение. Смотри https://developers.facebook.com/docs/reference/api/user/#links.

Вам нужно будет сгенерировать пользовательский интерфейс, чтобы попросить пользователя ввести сообщение. Если это может сработать для вас, то это путь.

0 голосов
/ 02 июня 2012

Не думаю, что вы должны публиковать фотографии.Кроме того, то, что делает Facebook, это получение тегов Open Graph (мета-теги в начале веб-документов только для этой цели).У вас должна быть возможность просто опубликовать ссылку и сообщение, и оно будет «задерживаться» - прочитайте метатеги и опубликуйте картинку, резюме и т. Д. Для этой веб-страницы.

Вы можете попробовать использовать действия графика Open Graph вместо общих диалогов.Это будет делать больше того, что вы хотите. http://developers.facebook.com/docs/opengraph/

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