Я пишу игру для iPhone и хочу опубликовать счет пользователя в своем фиде на Facebook.
Мне удалось собрать пример, когда пользователь соглашается с авторизацией, и затем появляется диалоговое окно, в которомони могут подтвердить опубликовать на своей стене или не публиковать.Это почти идеально, за исключением того, что текст является редактируемым полем, поэтому пользователь может изменить свой счет, а затем опубликовать.В идеале мне нужен точно такой же механизм, но без возможности исправления сообщения .
Я предполагаю, что для этого мне потребуется запросить разрешения publish_stream, а затем Graph.API позвонить, чтобы отправить сообщение.Я получил это, но получаю сообщение об ошибке «Активный токен доступа должен использоваться для запроса информации о текущем пользователе».
Я с радостью укажу точку в правильном направлении по поводу фактического изменения кода - любойочень признателен за помощь.
Это мой первый пост stackOverflow, поэтому будьте осторожны, пожалуйста.
Спасибо, ребята.
-Duncan
Оригинальный код (который публикуетк стене, но с изменяемым текстовым полем)
//offer to facebook connect your score
facebook = [[Facebook alloc] initWithAppId:@"210645928948875"];
[facebook authorize:nil delegate:self];
NSMutableString *facebookMessage = [NSMutableString stringWithString:@"I scored a whopping "];
[facebookMessage appendString: [NSMutableString stringWithFormat:@"%d", currentScore]];
[facebookMessage appendString: [NSMutableString stringWithString:@". Can you beat me?"]];
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
@"210645928948875", @"app_id",
@"http://duncan.co.uk/", @"link",
@"http://d.yimg.com/gg/goran_anicic/dunc.jpeg", @"picture",
@"dunc", @"name",
//@"Reference Documentation", @"caption",
@"Download the app NOW from the App Store", @"description",
facebookMessage, @"message",
nil];
[facebook dialog:@"stream.publish" andParams:params andDelegate:self];
Код для публикации непосредственно к стене (не доказано) (что вызывает активную ошибку токена):
/*Facebook Application ID*/
NSString *client_id = @"210645928948875";
//alloc and initalize our FbGraph instance
self.fbGraph = [[FbGraph alloc] initWithFbClientID:client_id];
//begin the authentication process..... andExtendedPermissions:@"user_photos,user_videos,publish_stream,offline_access"
[fbGraph authenticateUserWithCallbackObject:self andSelector:@selector(fbGraphCallback:) andExtendedPermissions:@"user_photos,user_videos,publish_stream,offline_access"];
NSMutableDictionary *variables = [NSMutableDictionary dictionaryWithCapacity:4];
[variables setObject:@"the message" forKey:@"message"];
[variables setObject:@"http://duncan.co.uk" forKey:@"link"];
[variables setObject:@"bold copy next to image" forKey:@"name"];
[variables setObject:@"plain text score." forKey:@"description"];
FbGraphResponse *fb_graph_response = [fbGraph doGraphPost:@"me/feed" withPostVars:variables];
NSLog(@"postMeFeedButtonPressed: %@", fb_graph_response.htmlResponse);