我使用Facebook的4.2 SDK得到了一個iPad IOS 8應用程序,它簡單地上傳和使用圖形API帖子的圖片和標題給我的時間線。Facebook的4.2的iOS 8的登錄和後期照片
它用於正常工作與Facebook 3.x的,但是當我更換了API,它是壞了。
下3.x中,我要求的權限使用
NSArray *permissions = [NSArray arrayWithObjects:
@"publish_actions",
nil];
[FBSession openActiveSessionWithPublishPermissions:permissions
defaultAudience:FBSessionDefaultAudienceFriends
allowLoginUI:allowLoginUI
completionHandler:^(FBSession *session,
FBSessionState state,
NSError *error)];
和我切換到FB問我,讓應用程式發佈。此外,該應用出現在Facebook的iPad設置下,「允許這些應用使用您的帳戶」。我可以使用 上傳/發佈一張照片NSMutableDictionary * params = [[[[[NSMutableDictionary alloc] init] autorelease]; params = [NSMutableDictionary dictionaryWithObjectsAndKeys: fbTextView.text,@「message」, anImageView.image,@「image」, nil];
[FBRequestConnection
startWithGraphPath:@"me/photos"
parameters:params
HTTPMethod:@"POST"
completionHandler:^(FBRequestConnection *connection,
id result,
NSError *error)
而且這一直工作正常。
當我嘗試使用4.2做同樣的,第一次登錄使用
FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
[login logInWithPublishPermissions:@[@"publish_actions"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error)];
result.declinedPermissions返回null,所以我認爲這是確定,雖然我沒有得到一個屏幕,說:「這並不讓應用程序後到Facebook。」
,然後我試圖使用後
NSMutableDictionary *params = [[[NSMutableDictionary alloc] init] autorelease];
params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
fbTextView.text, @"message",
anImageView.image, @"image",
nil];
[[[FBSDKGraphRequest alloc]
initWithGraphPath:@"me/photos"
parameters: params
HTTPMethod:@"POST"]
startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
if (error)
{
NSLog(@"error:%@", error);
}
else
{
NSLog(@「no errors」]);
}
}];
錯誤打印
0圖像2015-06-07 14:26:33.472 epiNote HD+[2713:1462469] error:Error Domain=com.facebook.sdk.core Code=8 "The operation couldn’t be completed. (com.facebook.sdk.core error 8.)" UserInfo=0x17e52320 {com.facebook.sdk:FBSDKGraphRequestErrorGraphErrorCode=200, com.facebook.sdk:FBSDKGraphRequestErrorParsedJSONResponseKey={ body = { error = { code = 200; message = "(#200) Requires extended permission: publish_actions"; type = OAuthException; }; }; code = 403; }, com.facebook.sdk:FBSDKGraphRequestErrorHTTPStatusCodeKey=403, com.facebook.sdk:FBSDKErrorDeveloperMessageKey=(#200) Requires extended permission: publish_actions, com.facebook.sdk:FBSDKGraphRequestErrorCategoryKey=0}
我只是張貼到我自己的時間安排,並沒有需要「擴展權限」之前。有什麼變化,我需要重新提交我的應用程序審查?
而且應用程序不會出現在iPad設置爲Facebook的「允許這些應用使用您的帳戶」。
好的,謝謝!當我添加測試員角色時,我發現了這一點。真是一種痛苦,在過去只需將照片上傳到我自己的時間表上就不需要審查。 –
酷:)我昨天剛解決了我的問題,所以我認爲它可以幫助別人 –
事實上,我發現,如果你使用FBSDKShareKit,你可以將照片發佈到你的時間表,而無需提交應用程序進行審覈。但iOS設備需要安裝Facebook應用程序。適用於我。 –