Формат данных вложения Facebook для ключа «медиа». (связано с размещением изображения + текста на стене друга) - PullRequest
0 голосов
/ 06 сентября 2011

Я пытаюсь опубликовать некоторые данные у одного из друзей из моего списка друзей.Я могу разместить текст на стене моего друга. Но он не может разместить изображение и другие данные.(Presentl Я вижу только текст для ключа «сообщение», а остальная часть не появляется в сообщении.

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

/*
 Action LInks
 */
NSDictionary* actionLinks = [NSArray arrayWithObjects:[NSDictionary dictionaryWithObjectsAndKeys:
                                                       @"Always Running",@"text",@"http://itsti.me/",@"href", nil], nil];
//Json Object Conversion
NSString *actionLinksStr = [jsonWriter stringWithObject:actionLinks];


/*
 Media Data in this case an image.
*/
**NSMutableDictionary *dictMedia=[NSMutableDictionary dictionaryWithObjectsAndKeys:@"image",@"type",@"http://www.facebook.com/images/devsite/iphone_connect_btn.jpg",@"src",@"www.fizzysoftware.com",@"href", nil];
NSArray *mediaArray=[[NSArray alloc] initWithObjects:dictMedia, nil];
NSString *mediaJsonString=[jsonWriter stringWithObject:mediaArray]; // error:actionLinksStr] 

//Attatchment Data :Include media data,action link etc.

NSDictionary* attachment = [NSDictionary dictionaryWithObjectsAndKeys:
                            @"First Title", @"name",
                            @"This is the subtitle", @"caption",
                            @"This is is description", @"description",
                           mediaJsonString, @"media", nil];

//Json conversion of the attachment data.
NSString *attachmentStr = [jsonWriter stringWithObject:attachment];**

//Main parameter
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                               @"Share on Facebook",  @"message",
                               actionLinksStr, @"action_links",
                               attachmentStr, @"attachment",
                               nil];

 //Post to friend's wall, whose uid is friend_uid
[ _facebook requestWithGraphPath:[NSString stringWithFormat:@"friend_uid/feed/"] andParams:params
 andHttpMethod:@"POST" andDelegate:self];

Любые предложения, где я ошибаюсь при отправке вложения. Я могу толькосм. часть "сообщения" param в моем сообщении, и никакие данные вложения не показаны в сообщении. Заранее спасибо.

1 Ответ

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

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

  NSDictionary* params = [NSDictionary dictionaryWithObjectsAndKeys:
                             @"some facebook id", @"to",
                             @"http://yourpage.com", @"link",
                             @"http://yourpage.com/image.png", @"picture",
                             @"the name", @"name",
                             @"the caption", @"caption",
                             @"the description", @"description",
                             nil];
  [_facebook dialog: @"feed" andParams: params andDelegate: self];

Здесь у вас есть некоторая документация относительно диалога подачи.

http://developers.facebook.com/docs/reference/dialogs/feed/

Если вы публикуете напрямую, вы должны делать что-то вроде этого:

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

Документ, касающийся прямых сообщений: http://developers.facebook.com/docs/reference/api/user/#posts

Надеюсь, это поможет.

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