【问题标题】:CoinMarketCap API to Angular requestCoinMarketCap API 到 Angular 请求
【发布时间】:2019-07-14 03:04:42
【问题描述】:

我对新的CoinMarketCap API 感到头疼。

以下是 Node.js 中的请求示例。如何在 Angular 中提出请求? 有什么建议? 谢谢。

 /* Example in Node.js ES6 using request-promise, concepts should translate 
 to your language of choice */

 const rp = require('request-promise');
 const requestOptions = {
 method: 'GET',
 uri: 'https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest',
 qs: {
   start: 1,
   limit: 5000,
   convert: 'USD'
 },
 headers: {
  'X-CMC_PRO_API_KEY': 'API_KEY_HERE'
 },
 json: true,
 gzip: true
};

rp(requestOptions).then(response => {
  console.log('API call response:', response);
}).catch((err) => {
 console.log('API call error:', err.message);
});

【问题讨论】:

  • 你看过Angular的HttpClient了吗?
  • 我知道 HttpClient,但我被这个新 API 阻止了,我不知道如何将标头添加到请求中。
  • 新 API 是什么意思? HttpClient?
  • 我希望您帖子中的 api 密钥不是您的实际 api 密钥...
  • 不,api密钥来自默认示例。

标签: javascript node.js angular api coinmarketcap


【解决方案1】:

根据找到的文档here,您无法从 Web 客户端执行此 HTTP 调用:

目前通过 CORS 配置禁止使用 Javascript 在客户端发出 HTTP 请求。这是为了保护您的应用程序用户不应该看到的 API 密钥,这样您的 API 密钥就不会被盗。通过您自己的后端服务路由调用来保护您的 API 密钥。

一种解决方案是创建您自己的后端 API。然后,此 API 可以执行对 Coinmarketcap 的 HTTP 调用。然后,您的网站会与您定制的后端 API 进行通信。

【讨论】:

    【解决方案2】:
        getAllCoinsListing() {
        const httpOptions = {
          headers: new HttpHeaders({
            'X-CMC_PRO_API_KEY':  'API_KEY_HERE'
          })
        };
        return this.http.get(this.apiUrl, httpOptions);
        }
    

    【讨论】:

      猜你喜欢
      • 2022-01-15
      • 1970-01-01
      • 2018-10-29
      • 2018-09-03
      • 1970-01-01
      • 2018-04-21
      • 2018-10-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多