0

WindowsStore アプリケーション内からテキスト メッセージを送信するために Plivo を使用しようとしています。これがほとんど機能するものです:

// These first 3 lines don't do what I want
var unamepass = AuthID + ":" + AuthToken;
var auth = new HttpCredentialsHeaderValue("Basic", unamepass);
httpClient.DefaultRequestHeaders.Authorization = auth;

string textBody = "sample message";
var plivoText = new
{
    src = plivoNumber,
    dst = phoneNumber,
    text = textBody
};
string Serial = JsonConvert.SerializeObject(plivoText);
IHttpContent PlivoJsonContent = new HttpJsonContent(JsonValue.Parse(Serial));
HttpResponseMessage PlivoResponse = 
    await httpClient.PostAsync(
        new Uri("https://api.plivo.com/v1/Account/<AuthID>/Message/")
        , PlivoJsonContent);

さて、このコードは機能します...技術的には。202 応答が返されます。ただし、テキストを送信する前に、大きな認証が画面に表示されます。ここに画像の説明を入力

正しいデータを入力すると、202 が返され、テキストが送信されます。そうしないと、データを送信できません。これをプログラムでリクエストに追加する方法を知りたいので、手動で行う必要はありません。スニペットの最初の 3 行に何か関係があると確信していますが、オンラインで見つけたドキュメントはあまり役に立ちませんでした。RestSharp は Windows ストア プロジェクトでサポートされていないため使用できません。そのため、HttpClient ソリューションを使用したいと考えています。

Plivo が使用する「スキーム」は何ですか? HttpCredentialsHeaderValue はどのように作成すればよいですか? 3行目は正しいですか?

4

1 に答える 1

0

答えは驚くほど簡単でした。文字列をヘッダーに送信するには、文字列を base64 に変換する必要があります。

参照: UTF-8 を base64 文字列に変換する

于 2014-03-14T03:28:09.163 に答える