Я пытаюсь опубликовать фотографию на странице поклонников facebook и на стене пользователей. Мне удалось опубликовать фотографию на стене пользователей, но не удалось опубликовать ее на стене страниц вентиляторов. (Пользователь не обязательно является администратором или владельцем страницы, а просто постоянными пользователями. Поскольку на странице поклонника есть возможность, чтобы кто-нибудь мог опубликовать его, для пользователя не обязательно даже нравиться страница в первую очередь.)
После поиска в Google, я нашел этот ответ. В соответствии с этим мне нужен access_token страницы поклонника и album_id, чтобы сделать это. Но я не могу понять, как их получить. До сих пор я пробовал этот код:
if ([appDelegate.facebook isSessionValid])
{
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
resultImage, @"picture",
nil];
[appDelegate.facebook requestWithGraphPath:@"me/photos"
andParams:params
andHttpMethod:@"POST"
andDelegate:self]; // to post on users wall, works fine
NSString *path = [NSString stringWithFormat:@"my/accounts /fan_page_id?fields=access_toke/photos"];
[appDelegate.facebook setAccessToken: FACEBOOK_ACCESS_TOKEN];
[appDelegate.facebook requestWithGraphPath:path andParams:params andHttpMethod:@"POST" andDelegate:self]; // to post on fan page wall, this doesn't work
}
Может ли кто-нибудь помочь мне с этим? Что мне здесь не хватает? Спасибо заранее.
UPDATE
В соответствии с этим ответом обычный пользователь не может публиковать фотографию на стене фан-страниц из приложения iOS, но может делиться фотографией с ней. Теперь, на мой вопрос, как я могу выполнить публикацию фотографии на стене пользователей и поделиться ею на стене страницы вентилятора одновременно? Является ли это возможным? Как поделиться фотографией на стене страницы вентилятора?
ОБНОВЛЕНИЕ 2
В этом ответе и вопросе говорится, что обычные пользователи могут публиковать на стене страницы поклонника через ленту новостей, поэтому я изменил свой код следующим образом:
if ([appDelegate.facebook isSessionValid]) {
NSMutableDictionary *page_params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
@"fan_page_id", @"to",
@"Test", @"name",
@"Test", @"caption",
resultImage, @"picture",
nil];
[appDelegate.facebook dialog:@"feed"
andParams:page_params
andDelegate:self];
}
Но я продолжаю получать это смехотворное сообщение об ошибке, и приложение вылетает:
-[UIImage length]: unrecognized selector sent to instance 0x24d110
2012-06-06 19:59:03.114 app_name[2739:707] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIImage length]: unrecognized selector sent to instance 0x24d110'
Что мне теперь делать?
В этот момент, после долгого ожидания, вопрос приходит мне на ум, возможно ли это? Если да, то как мне выполнить эту задачу? А если нет, то каковы альтернативы? Пожалуйста, помогите.
Обновление 3
Только что найдено, что есть известная ошибка в iOS sdk и javascript sdk для размещения диалогов на стене страницы вентилятора. Это верно и для загрузки изображений? Если у кого-то есть решение, чтобы избежать этой ошибки, пожалуйста, помогите.