FBWebDialogs presentDialogModallyWithSession, открывающий пустой модальный
NSString *facebookIDString = [NSString stringWithFormat:@"%lld", facebookID];
// Put together the dialog parameters
NSMutableDictionary *params =
[NSMutableDictionary dictionaryWithObjectsAndKeys:
facebookIDString, @"to",
@"MY APP NAME", @"name",
@"MY APP CAPTION", @"caption",
@"MY APP DESCRIPTION", @"description",
@"http://www.myApp.com", @"link",
@"https://raw.github.com/fbsamples/ios-3.x-howtos/master/Images/iossdk_logo.png", @"picture",
FACEBOOK_APP_ID, @"app_id",
nil];
// Invoke the dialog
[FBWebDialogs presentDialogModallyWithSession:[FBSession activeSession]
dialog:@"feed"
parameters:params
handler:
^(FBWebDialogResult result, NSURL *resultURL, NSError *error) {
//My code here
}];
ОБНОВЛЕНИЕ: я только что закомментировал ключ @"picture" в параметрах, и теперь я вижу заголовок "Post to Wall" с кнопкой "Okay", но содержание модального сообщения говорит "Cannot post to user wall" (на самом деле это случайное и случается иногда... Большую часть времени я все еще получаю пустое представление)
Если я уберу клавишу @"to", модал, похоже, будет работать так, как ожидалось, с контентом, который будет публиковаться на моей собственной стене, но я хочу публиковать на стенах друзей.
Я думал, что это проблема с разрешениями, но я распечатал [FBSession activeSession] и у меня есть publish_stream
<FBSession: 0x146a72d0, state: FBSessionStateOpen, loginHandler: 0x146a77d0, appID: <My APP_ID>, urlSchemeSuffix: , tokenCachingStrategy:<FBSessionTokenCachingStrategy: 0x145c3b20>, expirationDate: 4001-01-01 00:00:00 +0000, refreshDate: 2014-02-22 18:14:14 +0000, attemptedRefreshDate: 0001-12-30 00:00:00 +0000, permissions:(
"create_note",
"basic_info",
"share_item",
"status_update",
"user_friends",
"publish_actions",
"publish_checkins",
"video_upload",
"publish_stream",
"photo_upload",
installed,
email,
"public_profile",
"user_birthday",
"user_location"
)>
1 ответ
Я понял мою проблему. Я предположил FBGraphUser
.id был типа long long
вместо NSString*
так что я использовал его и преобразовал, что, по-моему, сгенерировало неверный идентификатор.. Теперь он показывает правильно.
Думаю, мне следовало проверить документ: https://developers.facebook.com/docs/reference/ios/3.0/protocol/FBGraphUser/