2016-04-18 13 views
0

Ich weiß über die Verwendung der Klasse MessageListRequest nach einer Liste von SMS-Nachrichten vom Twilio-Server zu fragen. Beim Definieren der Anfrage gibt es keinen Subaccount-Filter als Parameter. Weiß jemand, wie man die Nachrichtenliste nur für die Nachrichten erhält, die einem bestimmten Unterkonto zugeordnet sind? Vielen Dank.Wie bekomme ich SMS-Datensätze von Subaccount

Ich habe die Subaccount-Anmeldeinformationen verwendet, um die Liste der Nachrichten zu erhalten, aber das Ergebnis der Twilio-Anfrage ist ein Listenobjekt mit null Einträgen. Ich weiß, dass das Unterkonto Nachrichten enthält, weil ich sie im Twilio-Dashboard für das Unterkonto sehen kann. Kannst du mir bitte sagen, was ich in diesem Code falsch mache?

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; 
     } 

Antwort

0
  1. Die einfache Art und Weise, die geeignet ist, was du meinst, ist, auch wenn Sie Ihre Master-Anmeldeinformationen für Auth verwenden, sondern ein Unterkonto SID in der URL für Message List Resource vorgesehen, /2010-04-01/Accounts/{AccountSid}/Messages, Sie bekommen die Ressourcen für dieses Unterkonto.

    Die C# Bibliothek hat eine GetAccount Methode, die ein Konto SID nimmt und gibt das Konto Objekt (als Vertreter das Unterkontos) für , die Sie sollten dann in der Lage sein, um API-Aufrufe als normal zu machen.

    var account = twilio.GetAccount("SUBACCOUNT_SID"); 
    
  2. Schließlich, wenn man die Dinge in einer anspruchsvolleren Weise verfolgen möchten, können Sie entscheiden, UsageRecords zu verwenden.

    Mit UsageRecords in Kombination mit Subaccounts können Sie verwenden, um Nutzungsberichte zu erstellen und basierend auf einem bestimmten Verhalten Auslöser festzulegen.

    Die beiden oben angegebenen Links werden Ihnen zeigen, wie mit jedem in näher arbeiten, aber ein Beispiel eine Liste aller Zeitnutzung für SMS diese in C# möchte Grabbing:

    // 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); 
        } 
        } 
    } 
    
+0

Bitte beachten Sie die letzte Bearbeitung meiner Frage. – Palikea