22

設定アプリケーションで設定したシステムアカウントのFacebookアクセストークンを取得する必要があります。

Social.framework(iOS6)が私のすべてのFBアカウント情報を知っていることを知っています。また、この投稿http://blogs.captechconsulting.com/blog/eric-stroh/ios-のように、SLRequestクラスを使用してGraphAPIへのAPI呼び出しを実行できます。 6-tutorial-integrating-facebook-your-applications

しかし、私の質問は、Facebookシステムアカウントのアクセストークンを取得するにはどうすればよいですか?

Twitterの解決策を見つけましたhttps://dev.twitter.com/docs/ios/using-reverse-auth、しかしFacebookで私を助けてくれませんか

4

1 に答える 1

24

アカウント ストアをセットアップする方法を既に知っている場合は、アクセス トークンを取得する方法を示すコードを次に示します。

@property (strong, nonatomic) ACAccountStore *accountStore;
@property (strong, nonatomic) ACAccount *fbAccount;

...

@synthesize accountStore = _accountStore;
@synthesize fbAccount = _fbAccount;

...

// Initialize the account store
self.accountStore = [[ACAccountStore alloc] init];

// Get the Facebook account type for the access request
ACAccountType *fbAccountType = [self.accountStore
    accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];

// Request access to the Facebook account with the access info
[self.accountStore requestAccessToAccountsWithType:fbAccountType
                                           options:fbInfo
                                        completion:^(BOOL granted, NSError *error) {
    if (granted) {
        // If access granted, then get the Facebook account info
        NSArray *accounts = [self.accountStore
                             accountsWithAccountType:fbAccountType];
        self.fbAccount = [accounts lastObject];

        // Get the access token, could be used in other scenarios
        ACAccountCredential *fbCredential = [self.fbAccount credential];            
        NSString *accessToken = [fbCredential oauthToken];
        NSLog(@"Facebook Access Token: %@", accessToken);


        // Add code here to make an API request using the SLRequest class

    } else {
        NSLog(@"Access not granted");
    }
}];
于 2012-12-26T18:48:52.353 に答える