我想在iOS、中将facebook帐户保存到ACAccountStore
- 我将从facebookSDK获得
accessTocken
,但如何获得tocken和secret - 如何保存到
ACAccountStore
提前感谢。
------编辑--------
我有一个使用脸书登录的应用程序,在登录后需要分享他选择的照片信息。我的用例是
-
如果帐户已经在设置应用程序中,那么我可以使用它登录和共享。
-
用户使用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);
}
}];