如何从facebookSDK将facebook帐户保存到ACAccountStore



我想在iOS、中将facebook帐户保存到ACAccountStore

  1. 我将从facebookSDK获得accessTocken,但如何获得tocken和secret
  2. 如何保存到ACAccountStore

提前感谢。

------编辑--------

我有一个使用脸书登录的应用程序,在登录后需要分享他选择的照片信息。我的用例是

  1. 如果帐户已经在设置应用程序中,那么我可以使用它登录和共享。

  2. 用户使用safari或webview登录,然后我可以继续分享。

    a。facebook SDK表示,如果用户需要使用操作系统集成的共享控制器,那么login method used to authenticate the user must be native iOS 6.0 authentication.

    b。如果我需要分享由facebook SDK提供的使用facebook应用程序的选项,我不想要这个选项,因为我想尽可能避免应用程序切换。

如何解决此问题。。

要做到这一点,您应该有一个accesstoken和secret,

if (self.accountStore == nil) {
self.accountStore = [[ACAccountStore alloc] init];
}
//make credentials to assign to ACAccount 
ACAccountCredential *credential = [[ACAccountCredential alloc] initWithOAuthToken:accesstoken tokenSecret:secret];
ACAccountType *acctType =[self.accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];
ACAccount *newAccount = [[ACAccount alloc] initWithAccountType:acctType];
newAccount.credential = credential;
NSDictionary *options = [[NSDictionary alloc] initWithObjectsAndKeys:
"xXXXXXX", (NSString *)ACFacebookAppIdKey,
[NSArray arrayWithObject:@"basic_info"], (NSString *)ACFacebookPermissionsKey,
ACFacebookAudienceEveryone, (NSString *)ACFacebookAudienceKey,
nil];

[_accountStore requestAccessToAccountsWithType:acctType options:options completion:^(BOOL granted, NSError *error) {
if (granted == YES) {
[self.accountStore saveAccount:newAccount withCompletionHandler:^(BOOL success, NSError *error) {
if (success) {
NSLog(@"the account was saved!");
}
else {
if ([error code] == ACErrorPermissionDenied) {
NSLog(@"Got a ACErrorPermissionDenied, the account was not saved!");
}
NSLog(@"%@",error);
}
}];
}
else {
NSLog(@"%@ ",error);
}
}];

相关内容

  • 没有找到相关文章

最新更新