2015-02-09 117 views
1

我在我的設備上安裝了Facebook應用程序。我已從設備設置中刪除Facebook登錄名和密碼,但Facebook應用程序仍擁有自己的憑據。iOS應用程序使用Facebook應用程序憑證

我嘗試使用此代碼:

NSString *accessToken = [[FBSession.activeSession accessTokenData] accessToken]; 
FBRequest *request = [FBRequest requestForMe]; 

[request startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *err) { 
}]; 

不過的accessToken爲零。如何在不使用網絡查看授權的情況下使用Facebook應用憑證。因爲Facebook應用中有一個帳戶,似乎我可以使用它,但如何訪問當前的訪問令牌或會話?

所以愛寶有3種方式登錄到應用程序:

  1. 使用設備設置爲facebbok
  2. 使用Web視圖授權
  3. 用公報的Facebook應用程序憑據 - 對此,我是問。

回答

0

我通過創建一個單例類來處理。 每當我使用Facebook的功能,我叫下面的類

[self.classObj facebookLogin:self]; 

- (void)facebookLogin:(id)delegate { 

    sharedFacebookHelper.delegate = delegate; 

    if (!sharedFacebookHelper.session.isOpen) { 
    // Create a new, logged out session. 


    NSArray *permissions = [[NSArray alloc] initWithObjects:@"set your permissions here",nil]; 


    sharedFacebookHelper.session = [[FBSession alloc] initWithPermissions:permissions]; 

/////////////////////////////////// 

    NSString *accessToken = [sharedFacebookHelper.session.accessTokenData accessToken]; 

////////////////////////////////////// 




    [FBSession setActiveSession:sharedFacebookHelper.session]; 

// Popup code here.. 

// And whatever code for your facebook functionality here 

}else { 

//We already the session data so go ahead the whatever facebook functionality we need 

} 

的appdelegate代碼:

- (void)applicationDidBecomeActive:(UIApplication *)application { 


[[MyFacebookHelperClassName sharedFacebookHelper] handleBecomeActive]; 

} 


- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url 
sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { 


return [[MyFacebookHelperClassName sharedFacebookHelper] handleOpenURL:url forSourceApplication:sourceApplication]; 
} 



- (void)applicationWillTerminate:(UIApplication *)application { 

[[MyFacebookHelperClassName sharedFacebookHelper] closeSession]; 

} 
+0

感謝你的答案,但我怎麼能得到令牌和憑證從Facebook應用程序。 NSString * accessToken = [[FBSession.activeSession accessTokenData] accessToken];返回給我null – 2015-02-10 10:32:09

+0

檢查更新的代碼/////////////// NSString * accessToken = [sharedFacebookHelper.session.accessTokenData accessToken]; ////////////////// – YaBoiSandeep 2015-02-10 11:00:03

+0

你認爲它會使用官方的Facebook應用程序證書? – 2015-02-10 11:54:28

相關問題