如何使用 twilio 短信回复获取来电者姓名?

How to get Caller Name using twilio SMS Reply?

当我购买我使用的号码时

 var purchaseOptions = new PhoneNumberOptions();
    purchaseOptions.PhoneNumber = commandArgument;
    purchaseOptions.VoiceUrl = LeadsModuleDomainNamePublic.Trim() + "/ProcessCallTwilio.aspx";
    purchaseOptions.StatusCallback = LeadsModuleDomainNamePublic.Trim() + "/ProcessCall.aspx";
    purchaseOptions.SmsUrl = LeadsModuleDomainNamePublic.Trim() + "/TwilioReply.aspx";
    purchaseOptions.VoiceCallerIdLookup = true;

当我得到号码后使用此代码。

     foreach (string var in Request.Form)
    {
        if (var == "CallerName") { CallerName = Request[var]; }
    }

但它没有给我来电者姓名。

这里是 Twilio 开发人员布道者。

通过查看您的代码,我假设您使用的 C# Library 正确吗?

我想您是想从接听的电话中获取来电者姓名?如果是这种情况,当您接到电话时,Twilio 会将一些与该电话相关的变量传回给您。 CallerName 不是其中之一。

传入呼叫已建模 like this,这些是 Twilio 在向您的服务器发出请求时将传递的所有变量。

我想您可能正在看的是 CNAM Lookup on the Lookup API。这样,您就可以在可用时获取来电者姓名信息。

希望对您有所帮助

// This code work for me    
// Download the twilio-csharp library from twilio.com/docs/libraries/csharp
    using System;
    using System.Collections.Generic;
    using Twilio;
    using Twilio.Rest.Lookups.V1;
    using Twilio.Types;

    public class Example
    {
        public static void Main(string[] args)
        {
            // Find your Account SID and Auth Token at twilio.com/console
            const string accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
            const string authToken = "your_auth_token";

            TwilioClient.Init(accountSid, authToken);

            var phoneNumber = PhoneNumberResource.Fetch(
                new PhoneNumber("+15108675309"),
                type: new List<string> { "caller-name" });

            Console.WriteLine(phoneNumber.CallerName["caller_name"]);
        }
    }