2011-07-20 89 views
0

我遇到了Facebook圖形API的問題,更確切地說是iOS SDK。用我的代碼能夠正常工作,但現在我在嘗試做使用它時,這個錯誤描述(獲得個人飼料,朋友的飼料,好友列表,...):iOS SDK中的Facebook圖形API問題

Err details: Error Domain=facebookErrDomain Code=10000 "The operation couldn’t be completed. (facebookErrDomain error 10000.)" UserInfo=0x7113b80 {error=<CFBasicHash 0x7113910 [0x176e400]>{type = mutable dict, count = 2, 
entries => 
    2 : <CFString 0x7121e60 [0x176e400]>{contents = "type"} = <CFString 0x7113a20 [0x176e400]>{contents = "OAuthException"} 
    3 : <CFString 0x7113b40 [0x176e400]>{contents = "message"} = <CFString 0x7113a00 [0x176e400]>{contents = "An access token is required to request this resource."} 
} 
} 

會有人有它的想法可能來自?

這裏是我的源代碼也:

facebook = [[Facebook alloc] initWithAppId:@"00000000000000"]; 
    NSArray *permissions = [[NSArray arrayWithObjects:@"read_stream", @"publish_stream", @"offline_access",nil] retain]; 
    [facebook authorize:permissions delegate:self]; 
    [facebook requestWithGraphPath:@"1342568689/feed" andDelegate:self]; 
+0

http://stackoverflow.com/的可能的複製問題/ 4950337 /獲取隨機-facebookerrdomain錯誤-10000 –

回答

0

嗯,我肯定發現了Facebook SDK是一個有點棘手自己,但這裏有幾件事情我看到,希望能有所幫助。

首先,我想你可能在輸入伴隨你的問題的代碼時錯誤地複製了幾個方法。 「facebook」對象的分配是委託設置的位置,「授權」方法只需要參數的NSMutableDictionary。爲了清楚起見,代碼應該是這樣的:

facebook = [[Facebook alloc] initWithAppId:@"00000000000000" andDelegate:self]; 
NSArray *permissions = [[NSArray arrayWithObjects:@"read_stream", @"publish_stream", @"offline_access",nil] retain]; 
[facebook authorize:permissions]; 
[facebook requestWithGraphPath:@"1342568689/feed" andDelegate:self]; 

除此之外,唯一真正的問題是,你正在爲圖形API的調用應用程序有時間來完全授權之前。這些調用都是異步完成的,因此在授權過程實際返回一個有效的訪問令牌之前,主線程正在進行requestWithGraphPath:andDelegate調用。您可以將此調用或其他任何類似調用移入按鈕onClick處理程序,或者進行更直接的測試,並將其轉換爲Facebook Session Delegate方法fbDidLogin

希望有幫助!

0

此外,offline_access被depricated,他們建議做應用上的初始化檢查,以延長令牌的看文檔,但這裏片斷:

-(void)fbDidExtendToken:(NSString *)accessToken expiresAt:(NSDate *)expiresAt { NSLog(@"token extended"); [self storeAuthData:accessToken expiresAt:expiresAt]; }