【问题标题】:How to get sms records by subaccount如何通过子账号获取短信记录
【发布时间】:2016-04-18 16:02:13
【问题描述】:

我知道使用类 MessageListRequest 从 Twilio 服务器请求 SMS 消息列表。定义请求时没有子帐户过滤器作为参数。有谁知道如何仅获取与特定子帐户关联的那些消息的消息列表?谢谢。

我已使用子帐户凭据来获取消息列表,但 Twilio 请求的结果是一个包含零条目的列表对象。我知道子帐户中有消息,因为我可以在子帐户的 Twilio 仪表板中看到它们。你能告诉我我在这段代码中做错了什么吗?

    var aRequest = new MessageListRequest();
        aRequest.From = null;
        aRequest.To = null;            
        aRequest.DateSent = null;

         GetSubAccounts();
         if (mySubAccountSid != null)
         {
             TwilioRestClient aTwilio = new TwilioRestClient(mySubAccountSid,
                                        mySubAccountToken);
             var aResult = aTwilio.ListMessages(aRequest);
             if (aResult != null)
             {
                 foreach (var aMessage in aResult.Messages)
                 {
                     mySQLManager.UpdateSMSLogTable(aMessage, myVesselID);
                     Methods.WriteLog(aMessage.Sid + " " + aMessage.To + " " + aMessage.Body);
                 }
             }
             return aList;
         }

【问题讨论】:

    标签: c# sms twilio


    【解决方案1】:
    1. 简单的方法,可能就是你的意思,即使你使用 您的身份验证主凭据,但 URL 中的子账户 SID 提供给Message List Resource/2010-04-01/Accounts/{AccountSid}/Messages,资源给你 用于该子帐户。

      C# 库有一个 GetAccount 方法,它需要一个帐户 SID 并返回 Account 对象(代表子帐户) 然后您应该能够正常进行 API 调用。

      var account = twilio.GetAccount("SUBACCOUNT_SID");
      
    2. 最终,如果您想以更复杂的方式跟踪事物 方式,您可以决定使用UsageRecords

      UsageRecordsSubaccounts 结合使用将允许您 建立使用报告并根据某些行为设置触发器。

      上面提供的两个链接将向您展示如何使用每个链接 更多详细信息,但是一个获取所有时间使用列表的示例 短信在 C# 中会这样:

      // Download the twilio-csharp library from twilio.com/docs/csharp/install
      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 = "ACCOUNT_SID";
          string AuthToken = "AUTH_TOKEN";
          var twilio = new TwilioRestClient(AccountSid, AuthToken);
      
          var records = twilio.ListUsage("sms", null, null, null, null, null);
      
          foreach (var record in records.UsageRecords)
          {
            Console.WriteLine(record.Count);
          }
        }
      }
      

    【讨论】:

      猜你喜欢
      • 2012-07-09
      • 2021-08-17
      • 1970-01-01
      • 2014-08-13
      • 1970-01-01
      • 1970-01-01
      • 2011-07-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多