有谁知道如何以编程方式检查Twilio中的帐户余额(通过API)?它没有实施吗?
答案 0 :(得分:7)
无法通过Twilio API检查帐户余额。
请参阅REST API文档,了解可能的内容:https://www.twilio.com/docs/api/rest
答案 1 :(得分:4)
您可以获取Twilio Account details,然后使用帐户响应中的 subresource_uris.balance 要求获得余额
{
"status": "active",
"subresource_uris": {
...
"balance": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Balance.json"
},
"type": "Full",
...
}
这是一个摘要-https://gist.github.com/andriichuk/d1c81e58398b19979a3ddbe8a64b316b
答案 2 :(得分:1)
我确认没有API调用来获取您帐户的余额。甚至在问到这个问题后的2年。我已经提交了一张要求进行基本操作的机票,并被告知{#1}}列表中的#34;"但他们并不太有说服力。无论出于何种原因,按照设计,您无法获得平衡。很遗憾,因为它们具有如此强大的API和功能集。
答案 3 :(得分:1)
更新06/27/2020- Twilio的网站现在包括一个示例cURL脚本,该脚本可以包装在HTML GET请求中: https://support.twilio.com/hc/en-us/articles/360025294494-Check-Your-Twilio-Project-Balance
这是我用来获取值的C#代码:
using System.Net;
using Newtonsoft.Json;
string url = "https://api.twilio.com/2010-04-01/Accounts/" + accountSid + "/Balance.json";
var client = new WebClient();
client.Credentials = new NetworkCredential(accountSid, authToken);
string responseString = client.DownloadString(url);
dynamic responseObject = JsonConvert.DeserializeObject<object>(responseString);
double accountBalance = Double.Parse(responseObject["balance"].Value);
accountBalance = Math.Round((double)accountBalance,2);
答案 4 :(得分:0)
我抓取所有记录并在python中使用它(用于记录中的循环):
Balance = 1024 - round_decimal(r.price)
1024是我支付的金额(需要在适用时更新),价格是我从API中花费的。这是我提出的最好的,将您所知道的内容与API提供的有限信息相结合。
答案 5 :(得分:0)
这可能是通过使用HttpClient引起的。 这是一个C#示例:
public static string GetTwilioBalance(string accountSid, string authToken)
{
// declare variable to assign later on
dynamic balance = null;
// check required parameters value
if (!string.IsNullOrEmpty(accountSid) && !string.IsNullOrEmpty(authToken))
{
// initialize the TwilioClient using credentials passed as parameters
TwilioClient.Init(accountSid, authToken);
// declare instance of HttpClient
using (var httpClient = new HttpClient())
{
// declaring and assigning the authorization value to pass as a parameter in the request to the API
string base64authorization = Convert.ToBase64String(Encoding.ASCII.GetBytes(accountSid + ":" + authToken));
// adding it and using Basic authentication
httpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", base64authorization);
// receiving the raws response (got url from reading docs and other posts from other languages)
HttpResponseMessage response = httpClient.GetAsync("https://api.twilio.com/2010-04-01/Accounts/" + accountSid + "/Balance.json").Result;
// assigning the content to a variable
HttpContent content = response.Content;
// reading the string
string result = content.ReadAsStringAsync().Result;
// multiple ways of reading Json (which we will receive as result, here are 2
//dynamic value = JObject.Parse(result);
//string result1 = value.balance;
//string result2 = value["balance"];
// I prefer this one but this is a preference :)
balance = JObject.Parse(result)["balance"].ToString();
}
}
// you can handle this as you like
// for example purposes I am returning either the value of the Balance or a string value to flag/check afterwards if not succesful
return (balance != null) ? balance : "BalanceNotRetrieved";
}
您可以这样使用它:
string twilioBalance = GetTwilioBalance(accountSid, authToken);
希望它对某人有帮助!
答案 6 :(得分:0)
对于那些使用 node.js
(javascript) 的人来说,最好的方法是:
require('dotenv').config();
const client = require('twilio')(process.env.ACCOUNT_SID, process.env.AUTH_TOKEN)
client.balance.fetch()
.then((data) => {
const balance = Math.round(data.balance * 100) / 100;
const currency = data.currency;
console.log(`Your account balance is ${balance} ${currency}.`)
});
更多信息 => https://www.twilio.com/blog/check-twilio-account-balance-javascript
完美运行!