Я хочу поделиться сведениями о моем приложении. Я только что сделал то же самое, что и в учебнике на Facebook. Когда пользователь входит в систему и появляется диалоговая страница, и я отправляю сообщение, и оно работает нормально только в первый раз. Когда пользователь нажимает кнопку, чтобы поделиться снова, появится диалоговое окно и отображается страница ошибки
"Error occurred with 'Your_APP_NAME'.please try again later."
Я следовал за учебником в ссылке на Facebook ниже здесь. https://developers.facebook.com/docs/mobile/ios/build/
Вот мой код.
-(void)buttonPressed:(id)sender{
facebook = [[Facebook alloc] initWithAppId:@"YOUR_APP_ID" andDelegate:self];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:@"FBAccessTokenKey"] && [defaults objectForKey:@"FBExpirationDateKey"]) {
facebook.accessToken = [defaults objectForKey:@"FBAccessTokenKey"];
facebook.expirationDate = [defaults objectForKey:@"FBExpirationDateKey"];
}
if (![facebook isSessionValid]) {
[facebook authorize:nil];
}else{
[self postWall];
}
// Pre 4.2 support
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
return [facebook handleOpenURL:url];
}
- (void)fbDidLogin {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:[facebook accessToken] forKey:@"FBAccessTokenKey"];
[defaults setObject:[facebook expirationDate] forKey:@"FBExpirationDateKey"];
[defaults synchronize];
[self postWall];
}
-(void)postWall{
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
kAppId,@"app_id",
@"https://developers.facebook.com/docs/reference/dialogs/",@"link",
@"http://fbrell.com/f8.jpg",@"picture",
@"Facebook Dialogs",@"name",
@"Reference Documentation",@"caption",
@"Using Dialogs to interact with users.",@"description",
@"Facebook Dialogs are so easy!",@"message",
nil];
[[self facebook] dialog:@"feed" andParams:params andDelegate:self];
}
Я делаю весь этот код в своем файле viewcontroller (не в приложении-делегате). Я хочу открывать facebook только тогда, когда я нажимаю кнопку ... Так что я поместил эти кодировки в свой метод при нажатии кнопки.