ChatterRestAPIを使用してファイルアップロード
-
25-10-2019 - |
質問
Salesforce Chatter Rest APIのドキュメントを読み、C#でコードを実装し始めました。次のコードを参照してください:
System.Net.WebRequest req = System.Net.WebRequest.Create(URI);
req.Method = "POST";
req.Headers.Add("Authorization: OAuth " + accessToken);
req.ContentType = "application/x-www-form-urlencoded";
string par =
"fileName=" + fileName +
"&feedItemFileUpload="
+ @"D:\\MyFiles\\NewTextDocument.txt" +
"&desc=" + desc+
"&text=" + text;
byte[] byteArray = Encoding.UTF8.GetBytes(par);
req.ContentLength = byteArray.Length;
Stream dataStream = req.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
System.Net.WebResponse resp = req.GetResponse();
応答のエラーをGETTIGエラーですリモートサーバーはエラーを返しました:(400)悪い要求。
エラーの応答が表示された場合、次のメッセージが表示されました。
アップロードするファイルを指定してください。ファイルへのパスを入力するか、 "Browse "ボタンを使用してローカルファイルシステムに配置します。
ファイルパスと名前をすでに定義しています。パス文字列の前に @署名なしで試してみましたが、同じエラーが発生しました。何かが欠けているかどうか教えてください。
解決
フィドラーを使用して、何が起こっているのかを見ることができます。
あなたは単純なフォームを投稿しています fileName
と feedItemFileUpload
ちょうどのようです desc
と text
, 、 言い換えると、 単純な単純なテキスト!
あなたがする必要があるのは、ファイルをストリームとして送信することです。
私はあなたが使用していることがわかります ヘンゼルマンズ コードですが、それはテキストパラメーターのみです
ファイルに使用する詳細については、この回答を参照してください
所属していません StackOverflow