質問

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 "ボタンを使用してローカルファイルシステムに配置します。

ファイルパスと名前をすでに定義しています。パス文字列の前に @署名なしで試してみましたが、同じエラーが発生しました。何かが欠けているかどうか教えてください。

役に立ちましたか?

解決

フィドラーを使用して、何が起こっているのかを見ることができます。

あなたは単純なフォームを投稿しています fileNamefeedItemFileUpload ちょうどのようです desctext, 、 言い換えると、 単純な単純なテキスト!

あなたがする必要があるのは、ファイルをストリームとして送信することです。

私はあなたが使用していることがわかります ヘンゼルマンズ コードですが、それはテキストパラメーターのみです

ファイルに使用する詳細については、この回答を参照してください

httpwebrequest(multipart/form-data)でファイルをアップロードする

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top