【问题标题】:How to get methods from an API?如何从 API 中获取方法?
【发布时间】:2018-11-29 22:05:32
【问题描述】:

我正在尝试从 musixMatch API 调用一个方法。我正在尝试在 Javascript 或 Python 中执行此操作。文档中没有列出太多关于此的内容。有什么方法可以导入吗?我需要发出 AJAX 请求吗?

https://developer.musixmatch.com/documentation/api-methods

【问题讨论】:

  • 你是什么意思“导入它”?如果您的意思是有客户端库,请参阅 pypi.org/search/?q=musixmatchnpmjs.com/search?q=musixmatch。但是 something 需要向 API 发出 HTTP 请求;如果需要,您可以使用较低级别的请求库自己编写。
  • 我不太确定该怎么做。我认为没有客户端库。如果我只是向它发出 urllib.request,我可以使用网站上的方法吗?
  • 1.这两个搜索都有结果,所以这似乎是一个奇怪的结论。 2. 这是从 Python 发出 HTTP 请求的一种方式,是的。

标签: javascript python api


【解决方案1】:

有一个官方的 MusixMatch SDK,支持 Python 和 Javascript:https://github.com/musixmatch/musixmatch-sdk

SDK 可以帮助您与 API 进行通信,而无需暴露 Ajax 等抽象。

至于您的最后一个问题,是的,您必须以某种方式发出 HTTP 请求才能与 API 对话。如果您在浏览器上使用 Javascript,则需要 AJAX,但对于 Python,您将使用普通的 request 对象。但是,如果你使用 SDK,你的代码就不需要像我说的那样实现它。

看看这个例子(在 Python 中):

import swagger_client #imports the API
swagger_client.configuration.api_key['apikey'] = '_YOUR_API_KEY_' #starts the API with your key
album_api_instance = swagger_client.AlbumApi() #Calls the Album API

现在您可以使用 album_api_instance 对象来调用 API(如果您需要专辑):

album_id = '14250417'
response_format = 'json' #json, jsonp or xml
response = api_instance.album_get_get(album_id, format=response_format)
print(response)

如您所见,这让您无需担心 HTTP 或请求即可调用 API。

如果您想调用专辑 API 以外的端点(曲目、艺术家等),您可以 download the SDK as a zip 并浏览到 python-client/swagger_client/apis/。在那里你会找到暴露端点的 .py 文件,有据可查。

【讨论】:

    【解决方案2】:

    您可以使用 python 请求库来使用 API,如下所示

    import requests
    url = 'https://api.musixmatch.com/ws/1.1/'
    requests.get(url)
    <Response [200]>
    

    【讨论】:

    • 所以在我向它发出请求后,我可以随时使用这些方法吗?
    • 您需要阅读文档以根据您要检索的数据调整您的 URL,例如:api.musixmatch.com/ws/1.1/…
    • 谢谢 我只需要在参数中输入API密钥。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-12
    • 1970-01-01
    相关资源
    最近更新 更多