1

過去 6 か月間の Twilio からすべての SMS ログを取得し、それらをテーブルに挿入しようとしています。昨年、Twilio は絶対ページングを廃止し、相対ページングを採用しました。使用しようとするとTwilioMessageListRequest.PageNumber失敗し、代わりに使用するようにという警告が表示されますGetNextPage and GetPreviousPage。ただし、それらの使用に関するドキュメントは見つかりません。私がやみくもにつなぎ合わせるのに最も近いのは次のとおりです。

        var request = new MessageListRequest();
        var scheck = new TwilioListBase();
        scheck.PageSize = 1000;
        request.DateSentComparison = ComparisonType.GreaterThanOrEqualTo;
        request.DateSent = DateTime.Today.Subtract(TimeSpan.FromDays(180));

        var messages = twilio.ListMessages(request);

        while(scheck.NextPageUri != null)
        {
            foreach (var message in messages.Messages)
            {
                string body = message.Body.ToString();

                SMS_Logs newLog = new SMS_Logs();
                newLog.Sid = message.Sid;
                newLog.DateSent = message.DateSent;
                newLog.To = message.To;
                newLog.From = message.From;
                newLog.Body = message.Body;
                newLog.Status = message.Status;
                newLog.ErrorCode = message.ErrorCode;
                newLog.ErrorMessage = message.ErrorMessage;

                db.SMS_Logs.InsertOnSubmit(newLog);
            }
            twilio.GetNextPage();
        }

ただし、これは機能しません。現状では、「メソッド 'GetNextPage' のオーバーロードは 0 引数を取ります」というエラーが表示されます。の必要なコンポーネントが明らかに欠けていますがGetNextPage、これまでのところ、それが何であるかを理解するのに非常に失敗しています。ここで私が見落としていることについての説明は、非常に高く評価されます。

4

1 に答える 1

2

これは次の質問と重複しているようです: Any examples of getnextpage usage in the twilio api for c#?

API Explorer から試してみてください: https://www.twilio.com/console/dev-tools/api-explorer/sms/sms-mms-list

C#の例:

using System;
using Twilio;

class Example
{
    static void Main (string [] args)
    {

        // Find your Account Sid and Auth Token at twilio.com/user/account
        string AccountSid = "";
        string AuthToken = "";
        var twilio = new TwilioRestClient (AccountSid, AuthToken);

        var request = new MessageListRequest ();

        var messages = twilio.ListMessages (request);

        while (messages.NextPageUri != null) {
            foreach (var message in messages.Messages) {
                Console.WriteLine (message.Body);
            }
            messages = twilio.GetNextPage<MessageResult> (messages);
        }
    }
}

ヘルパー ライブラリは、条件に一致するすべてのレコードが処理されるまでリストをループすると、API から自動的にフェッチされます。

MessageListRequest で結果を制限できます。

于 2016-06-28T23:49:25.710 に答える