2015-04-06 24 views
1

我目前負責實施社交網絡應用的幾項新功能,其中之一是每當用戶發佈圖像時自動獲取也發佈在用戶的臉書上(與Instagram完全一樣)。到目前爲止,我想出了這一點:獲取「FBSDKErrorDeveloperMessageKey =(#324)需要上傳文件」試圖發佈圖像時

FBSDKAccessToken *token = [FBSDKAccessToken currentAccessToken]; 
FBSDKGraphRequestConnection *connection = [[FBSDKGraphRequestConnection alloc] init]; 
NSDictionary *parameters = @{ 
          @"message" : @"some text", 
          @"picture" : @"http://fanaru.com/doge/image/18353-doge-os-x-doge.jpg", 
          }; 

FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] initWithGraphPath:@"me/photos" parameters:parameters tokenString:token.tokenString version:@"v2.3" HTTPMethod:@"POST"]; 
[connection addRequest:request completionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) { 
    if(error) 
     NSLog(@"%@", error); 
    else 
     NSLog(@"Success"); 
}]; 

[connection start]; 

但我每次運行它的時候我得到這個錯誤:

Error Domain=com.facebook.sdk.core Code=8 "The operation couldn’t be completed. (com.facebook.sdk.core error 8.)" UserInfo=0x166a64d0 {com.facebook.sdk:FBSDKGraphRequestErrorGraphErrorCode=324, com.facebook.sdk:FBSDKGraphRequestErrorParsedJSONResponseKey={
body = {
error = {
code = 324;
message = "(#324) Requires upload file";
type = OAuthException;
};
};
code = 400;
}, com.facebook.sdk:FBSDKGraphRequestErrorHTTPStatusCodeKey=400, com.facebook.sdk:FBSDKErrorDeveloperMessageKey=(#324) Requires upload file, com.facebook.sdk:FBSDKGraphRequestErrorCategoryKey=0}

我明白我需要將圖片上傳到Facebook的服務器,但我根本沒有如何做到這一點的想法。已經從Facebook SDK文檔中讀取了大量頁面,但仍然沒有任何解決方案。理想情況下,我還需要爲此應用創建一個新的相冊,但解決上述問題是我現在主要關心的問題。

在此先感謝。

編輯:只要你知道,如果我改變graphpath到「我/飼料」它工作得很好,把圖片張貼爲鏈接,所以仍然不是真正的我在找什麼。

回答

1

它給你的錯誤是正確的。它不想要一個URL,它要求你提供一個文件,並且該文件不包含在內。如果您尚未擁有圖像並需要將圖像數據包含在參數中,則需要先下載圖像。

UIImage *image = (some picture I downloaded); 
NSDictionary *parameters = @{ 
           @"message" : @"some text", 
           @"picture" : UIImagePNGRepresentation(image), 
          }; 
+0

這種方法解決了我的問題。謝謝! –

+0

給我這個錯誤FBSDKErrorDeveloperMessageKey =(#100)圖片格式不正確 –

相關問題