如何验证 nexmo 语音客户端?

How to authenticate nexmo voice client?

我正在尝试使用 Nexmo (Vonage) API 拨打外线电话。要访问 API,我需要使用应用程序 ID 和私钥(作为 .key 文件提供给我)对我的客户端进行身份验证。

应用程序 ID 指定为字符串,私钥指定为路径。

client = nexmo.Client(application_id = 'xxxxxx-xxxxxxx', private_key = "C:\path\to\folder\private.key")

我收到以下错误。

  File "test_bot.py", line 30, in <module>
    'ncco': ncco
  File "C:\Users\vishn\AppData\Local\Programs\Python\Python37-32\lib\site-packages\wrapt\wrappers.py", line 606, in __call__
    args, kwargs)
  File "C:\Users\vishn\AppData\Local\Programs\Python\Python37-32\lib\site-packages\deprecated\classic.py", line 285, in wrapper_function
    return wrapped_(*args_, **kwargs_)
  File "C:\Users\vishn\AppData\Local\Programs\Python\Python37-32\lib\site-packages\nexmo\__init__.py", line 427, in create_call
    return self._jwt_signed_post("/v1/calls", params or kwargs)
  File "C:\Users\vishn\AppData\Local\Programs\Python\Python37-32\lib\site-packages\nexmo\__init__.py", line 719, in _jwt_signed_post
    self.api_host(), self.session.post(uri, json=params, headers=self._headers())
  File "C:\Users\vishn\AppData\Local\Programs\Python\Python37-32\lib\site-packages\nexmo\__init__.py", line 742, in _headers
    return dict(self.headers, Authorization=b"Bearer " + token)
TypeError: can't concat str to bytes

这里是来自 Vonage 的 Diana。

修复已在进行中。但是我注意到这只发生在 pyjwt 2.0 中。