我面臨着以下問題,我的iOS應用:的Facebook SDK 3.1的錯誤從iOS應用發佈時
雖然發佈到用戶的朋友的牆壁,使用的是iOS應用程序,我遇到了錯誤「
com.facebook.sdk error 5
」 。該應用要求在每次檢查「
FBSession.activeSession.isOpen
」時都要登錄。
之前一切正常。但是因爲我改變了我的應用程序ID(因爲現在我必須使用不同的Facebook應用程序)。我收到錯誤。
我已經做了一些研究,發現some solutions。我試過了,但沒有任何效果。
我已經寫了下面的代碼登錄到Facebook的:
- (BOOL)openSessionWithAllowLoginUI:(BOOL)allowLoginUI {
comingfromFB = YES;
NSArray *permissions = [[NSArray alloc] initWithObjects:
@"friends_birthday",
nil];
return [FBSession openActiveSessionWithReadPermissions:permissions
allowLoginUI:allowLoginUI
completionHandler:^(FBSession *session, FBSessionState state, NSError *error) {
[self sessionStateChanged:session state:state error:error];
}];
}
而對於出版的故事下面的代碼:
if ([FBSession.activeSession.permissions
indexOfObject:@"publish_actions"] == NSNotFound) {
// No permissions found in session, ask for it
[FBSession.activeSession
reauthorizeWithPublishPermissions:
[NSArray arrayWithObject:@"publish_actions"]
defaultAudience:FBSessionDefaultAudienceFriends
completionHandler:^(FBSession *session, NSError *error) {
if (!error) {
// If permissions granted, publish the story
[self publishStory];
}
}];
} else {
// If permissions present, publish the story
[self publishStory];
}
當我運行應用程序,我得到以下錯誤:
Error: HTTP status code: 403
2013-02-05 14:36:47.109 <appname>[1705:c07] Error Domain=com.facebook.sdk Code=5 "The operation couldn’t be completed. (com.facebook.sdk error 5.)" UserInfo=0xaa9af20 {com.facebook.sdk:ParsedJSONResponseKey={
body = {
error = {
code = 200;
message = "(#200) The user hasn't authorized the application to perform this action";
type = OAuthException;
};
};
code = 403;
}, com.facebook.sdk:HTTPStatusCode=403}
請幫我理解我要出錯的地方。
我也添加了一些鍵值對NSUserDefaults
。這可能是一個可能的原因嗎?
謝謝。
正面臨同樣的問題。以下答案是否解決了您的問題?或者你是如何解決這個問題的。 – 2vision2
@ 2vision2下面提到的方法是正確的......但我通過在代碼中詢問兩個權限「publish_stream」和「publish_actions」來解決我的發佈問題,當我只要求其中一個權限時,我無法正常工作,而我不知道爲什麼。 –