我已經實現了facebook SDK,可以通過它獲得facebook身份驗證以及用戶信息,並使用以下代碼。在iOS 6.0中獲取Facebook訪問令牌
if(!self.accountStore)
self.accountStore = [[ACAccountStore alloc] init];
if(NSClassFromString(@"SLComposeViewController") != nil)
{
ACAccountType *facebookTypeAccount = [self.accountStore
accountTypeWithAccountTypeIdentifier:@"com.apple.facebook"];
NSLog(@"facebookTypeAccount..:%@",facebookTypeAccount);
NSArray *accounts = [self.accountStore accountsWithAccountType:facebookTypeAccount];
if (facebookTypeAccount) {
if ([accounts respondsToSelector:@selector(count)]) {
[self.accountStore requestAccessToAccountsWithType:facebookTypeAccount
options:@{ACFacebookAppIdKey:
@"key", ACFacebookPermissionsKey: @[@"email"]}
completion:^(BOOL granted, NSError
*error) {
if(granted){
NSArray *accounts = [self.accountStore
accountsWithAccountType:facebookTypeAccount];
[self fetchuserinfo];
}
}];
}
-(void)fetchuserinfo
{
NSString *accessToken = [FBSession activeSession].accessToken;
NSString *url=[NSString stringWithFormat:@"https://graph.facebook.com/me"];
NSURL *meurl = [NSURL URLWithString:url];
SLRequest *merequest = [SLRequest requestForServiceType:SLServiceTypeFacebook
requestMethod:SLRequestMethodGET
URL:meurl
parameters:nil];
NSLog(@" setting account %@",_facebookAccount);
merequest.account = _facebookAccount;
[merequest performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {
NSString *meDataString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
returnedData = responseData;
NSLog(@" meRequest Respnse %@", meDataString);
if (returnedData!=nil) {
if(NSClassFromString(@"NSJSONSerialization"))
{
NSError *error = nil;
id object = [NSJSONSerialization
JSONObjectWithData:returnedData
options:0
error:&error];
if(error) { }
if([object isKindOfClass:[NSDictionary class]])
{
NSDictionary *results = object;
NSString *categoryString=[[results valueForKeyPath:@"picture.data"] objectForKey:@"url"];
NSString *userid=[results objectForKey:@"id"];
if (userid != nil)
{
self.gotUserDetails = YES;
}
NSString *username=[results objectForKey:@"name"];
NSString *email=[results objectForKey:@"email"];
NSUserDefaults *userId=[NSUserDefaults standardUserDefaults];
[userId setObject:userid forKey:@"userid"];
}
}
}
}
但是要從這個登錄用戶發佈訂閱源(https://graph.facebook.com/me/feed/access_token=),我需要訪問令牌。如果有人知道如何在iOS 6.0中獲取訪問令牌,請幫助我。
感謝所有。
我一直在使用Sharekit.If,可以幫助你在這裏是鏈接到我的博客的same.http做到了://amandeepsinghmaan.blogspot.in/2012/08/get-fb -access-token-from-share-kit-to.html –
No @DesertRose我需要通過facebook SDK獲取iOS 6.0。 –