2

Facebookに画像を投稿すると、常に「(#324)アップロードファイルが必要です」というメッセージが表示されます。同じエラーで質問された人がたくさんいます。ほとんどの人はphp sdkを使用しています。fileUploadをtrueに設定することで問題を解決したようです($facebook->setFileUploadSupport(true);)、例: http://endorkins.com/2010/12/28/facebook-graph-api-upload-photos-requires-upload-file/写真のアップロード時の例外Facebook グラフ API を使用

しかし、私は iOS でグラフ API を直接使用しています。このフラグを設定する場所が見つかりません。アルバムの作成時と画像のアップロード時に設定しようとしましたが、うまくいきませんでした。

Facebook グラフ API リファレンス ( http://developers.facebook.com/docs/reference/api/album/ ) では、アルバムがアルバムに写真をアップロードできるようにするには、can_upload を true にする必要があると述べていたので、アップロードしようとしたアルバムを確認しました。画像とそれは本当です。

user_photos、friends_photos、publish_stream、publish_actions の許可も得ています。

以下は、画像を投稿するための私のコードです。これに多くの時間を費やしましたが、修正できません。助けてください! どんな助けでも大歓迎です。

NSURL *url = [NSURL URLWithString:@"https://graph.facebook.com/"];

AFHTTPClient *client = [[AFHTTPClient alloc] initWithBaseURL:url];

NSMutableDictionary *params = [NSMutableDictionary dictionary];

[params setObject:token forKey:@"access_token"];

[params setObject:@"the message" forKey:@"message"];

NSData *imgData = UIImageJPEGRepresentation(self.img, 1.0);

[params setObject:imgData forKey:@"source"];

NSMutableURLRequest *request = [client requestWithMethod:@"POST" path:[NSString stringWithFormat:@"%@/photos", albumId] parameters:params];

[request setValue:@"multipart/form-data" forHTTPHeaderField:@"Content-Type"];

//        [request setValue:[NSString stringWithFormat:@"%d", imgData.length]   forHTTPHeaderField:@"Content-Length"];

AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc]initWithRequest:request];

[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {

} failure:^(AFHTTPRequestOperation *operation, NSError *error) {

        NSLog(@"%@", error);

        NSLog(@"%@", operation.responseString);

}];

[operation start];
4

1 に答える 1

1

最後に、Facebook SDKを使用して画像を投稿することでこれを解決しました。

于 2012-12-12T15:32:10.103 に答える