python - 如何在 Nexmo 中检索可用的电话号码?

标签 python python-3.x vonage

我想使用不带所有参数的模式搜索来检索所有可用的电话语音电话号码(仅限电话号码)。

我已经尝试过nexmo给出的api代码。它有效,但我只获得了有限数量的电话号码,而且我还获得了一堆我不想要的其他参数。这是我正在使用的 2 个 API 调用:

phnumbers = client.get_available_numbers("US", {"features": "VOICE"})
phnumbers = client.get_available_numbers("US", {"pattern": "007", "search_pattern": 2})

我只想获得可用号码的列表。我不在乎它是否是 1000。不确定是否有办法限制它带回来的数量。目前获得的数量有限,参数如下:

{'count': 394773, 'numbers': [{'country': 'US', 'msisdn': '12014790696', 'cost': '0.90', 'type': 'mobile-lvn', 'features': ['VOICE', 'SMS']}

这是一个数字。我只想告诉它给我所有的语音号码并将它们放入列表中...提前感谢您的帮助。

最佳答案

我查看了文档,我认为不可能只取回电话号码(也称为 msisdn)。

相反,对于每个号码,您都会得到一个包含国家/地区、成本、类型等的信息...,正如文档所说,“可用号码及其详细信息的分页数组”的一部分。

如果您查看响应,您可以看到 count 作为第一个键/值对,在您的示例中,计数为 394773,这是可用的数字总数您在发出请求时指定的搜索条件。

现在,我不知道所有原因,但发回一个有效负载为 394773 个数字的响应可能会对系统造成太大负担。


你可以做什么:

<小时/>

根据我的测试,如果您指定 size 为 100,那么您将得到每页 100 条记录的响应,并且您可以使用 index 参数用于分页(任何 size 超过 100 的值,您只能得到 10 条记录)。

因此,如果您的搜索查询计数为 394773,且 size = 100,则我们只有 3947 + 1 个页面(仅最后一页 (index = 3948))有73条记录),你必须一一获取它们,总共有3948个请求传递了适当的索引值。

当然,如果您传递更具体的搜索查询,您可以减少计数

我明白你想要什么,而且我不为 Nexmo 工作,而且,在阅读文档后,我认为不可能仅通过一个请求就可以恢复所有内容。您只需要在搜索查询中更加具体即可。


文件:

<小时/> Retrieve inbound numbers that are available for the specified country.

关于python - 如何在 Nexmo 中检索可用的电话号码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56310462/

相关文章:

python - 使用逗号分隔值从另一个列表生成列表

python - 使用正则表达式删除重复的字符?

python - 尝试下载文件时,使用 Python 的 Headless Chrome 会暂停

python - 无法从网页中抓取不同项目的标题

php - VoiceXML - 如何同时提交录音文件和文本输入

python - 为什么一个代码(matmul)比另一个(Python)快

python - Word = win32.Dispatch ("Word.Application") 尽管 Word.Visible = False 命令,但每隔一段时间显示打开的文件

python - celery :如何只为最后一个链节存储结果?

java - 如何使用 oAuth/http header 用户名和密码保护 Nexmo 回调 URL