簡體   English   中英

我想制作使用Facebook憑據登錄我的應用程序的iPhone應用程序

[英]I want make iphone app that uses Facebook credentials to login to my app

我使用了以下代碼

facebook = [[Facebook alloc] initWithAppId:APPLICATION_ID];
    facebook.accessToken    = [[NSUserDefaults standardUserDefaults] stringForKey:@"AccessToken"];
    facebook.expirationDate = (NSDate *) [[NSUserDefaults standardUserDefaults] objectForKey:@"ExpirationDate"];

NSArray * _permissions =  [[NSArray arrayWithObjects: @"read_stream",@"user_about_me",nil] retain];

if ([facebook isSessionValid] == NO) 
{
    [facebook authorize:_permissions delegate:self];
}
[facebook requestWithGraphPath:@"me" andDelegate:self];

我想獲取用戶個人資料信息。 但我收到以下錯誤消息。

 REsult:Error Domain=facebookErrDomain Code=10000 "The operation couldn’t be completed. (facebookErrDomain error 10000.)" UserInfo=0x6d41090 {error=<CFBasicHash 0x6d91570 [0x2b4a380]>{type = mutable dict, count = 2,
entries =>
    2 : <CFString 0x6d8c990 [0x2b4a380]>{contents = "type"} = <CFString 0x6d1af30 [0x2b4a380]>{contents = "OAuthException"}
    3 : <CFString 0x6d91b90 [0x2b4a380]>{contents = "message"} = <CFString 0x6d3a000 [0x2b4a380]>{contents = "An active access token must be used to query information about the current user."}

可以幫助我嗎?我是iphone開發的新手。

提前謝謝你。

在授權過程完成之前,您無法從Facebook請求信息。 當您調用authorize時,它只會啟動自動化過程(它是異步的)。 您必須實現FBSessionDelegate以偵聽何時調用fbDidLogin方法。 只有這樣才能對數據執行請求。

一種選擇是創建一個包裹Facebook類的控制器,並傳入一個完成塊,一旦用戶完成授權過程就會調用該完成塊。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM