Размещение ссылок на стене Facebook из приложения iPhone - PullRequest
1 голос
/ 03 марта 2011

Я отправляю сообщение на стене Facebook из приложения для iPhone.Это хорошо работает, когда я просто отправляю сообщение, но когда я пытаюсь добавить ссылку, сообщение не публикуется в Facebook.

Код:

NSString *link = @"http://www.foo.com";
NSString *linkName = @"Bar";
NSString *linkCaption = @"Foo Bar";
NSString *linkDescription = @"Fooooooo Bar";
NSString *message = @"Message";

NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                   kAppId, @"api_key",
                                   message, @"message",
                                   linkName, @"name",
                                   linkDescription, @"description",
                                   link, @"link",
                                   linkCaption, @"caption",
                                   nil];

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

Это когда я добавляю ссылкуи подпись к словарю параметров, который FaceBook не будет публиковать на стене.Я даже не получаю ошибку в (void) request: (FBRequest *) request didFailWithError: (NSError *) error, поэтому кажется, что Facebook считает, что запрос в порядке.

Ответы [ 7 ]

1 голос
/ 03 марта 2011

Вы можете проверить ShareKit . Это довольно хорошо поддерживаемая библиотека с открытым исходным кодом для взаимодействия с различными социальными веб-сервисами, обеспечивающая совместимость API с сообществом ShareKit.

0 голосов
/ 10 сентября 2013

Используйте это. Этот работает хорошо для меня.

 NSString *graphPath = @"me/feed";

    NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                                self.link,@"link",
                                                self.url,@"picture",
                                                 self.message,@"name",
                                                @"Write_Captioon",@"caption",
                                                self.description,@"description",
                                                /*@"Facebook Dialogs are so easy!",@"message",*/
                                                nil];

        [[FBRequestWrapper defaultManager] sendFBRequestWithGraphPath:graphPath params:params andDelegate:self];

Проверьте также ваш URL, может быть, URL-адрес не в правильной форме. Я не сталкивался с такой проблемой в Facebook, но в случае LinkedIn, когда у моего URL-адреса было "=", сообщение не было опубликовано, но было успешно делиться с другими URL-адресами. Надеюсь, это поможет вам.

0 голосов
/ 06 июня 2013

У меня была такая же проблема, но с приложением PHP, и я решил ее, получив токен доступа к странице. Получив токен доступа пользователя, перейдите по адресу:

https://graph.facebook.com/me/accounts?access_token=USER_ACCESS_TOKEN

В возвращенных данных найдите имя страницы и соответствующий токен доступа. Использование токена доступа к странице позволило опубликовать мои ссылки.

0 голосов
/ 07 мая 2012

Если вы используете FBConnect, тогда используйте эти методы, все, что публикуется на стене FB.

- (void)postToWall 
 {

   FBStreamDialog *dialog = [[[FBStreamDialog alloc] init] autorelease];
   dialog.userMessagePrompt = @"Enter your message:";
   dialog.attachment = [NSString stringWithFormat:@"{\"name\":\"Facebook Connect for iPhone\",\"href\":\"http://developers.facebook.com/connect.php?tab=iphone\",\"caption\":\"Caption\",\"description\":\"Description\",\"media\":[{\"type\":\"image\",\"src\":\"http://img40.yfrog.com/img40/5914/iphoneconnectbtn.jpg\",\"href\":\"http://developers.facebook.com/connect.php?tab=iphone/\"}],\"properties\":{\"another link\":{\"text\":\"Facebook home page\",\"href\":\"http://www.facebook.com\"}}}"];
   [dialog show];

 }
0 голосов
/ 08 марта 2011

Я не уверен, в чем ваша проблема, поскольку все выглядит хорошо, но это может помочь вам устранить неполадки: http://developers.facebook.com/docs/reference/rest/stream.publish/

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

Чтобы опубликовать ссылку, вам необходимо добавить вложение с таким синтаксисом:

{ "href": "http://www.fantasy-fan.org", "name": "test", "caption": "test2", "description": "test3", "media": [{ "type": "image", "src": "http://dragontest.fantasy-fan.org/images/dwarf.jpg", "href": "http://www.fantasy-fan.org" }]}
0 голосов
/ 03 марта 2011

Для отображения ссылок на FB вы можете использовать actionLinks.

делится на

dialog.actionLinks = @"[{\"text\":\"See My App here!\",\"href\":\"http://www.facebook.com/developers/apps.php?app_id=178257532217623&ret=2/\"}]";

, это покажет ваши ссылки на правой стороне сообщения

0 голосов
/ 03 марта 2011

Я только что разместил ссылку в FB с использованием вложения ...

NSDictionary* attachment = [NSDictionary dictionaryWithObjectsAndKeys:
                            @"Visit My Site", @"name",
                            @"http://www.mysite.com", @"href", nil];
NSString *attachmentStr = [jsonWriter stringWithObject:attachment];
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"Your Message",@"message",
                                   attachmentStr,@"attachment",nil];
...