首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Yelp的Express认证

Yelp的Express认证
EN

Stack Overflow用户
提问于 2018-12-08 08:47:33
回答 1查看 1K关注 0票数 0

我试图向Yelp的API发出GET请求,以便使用Express和Nodejs执行简单的搜索,但是我很难理解如何使用提供的API键设置请求头。使用request,我试图在文档之后通过基本身份验证,但是我收到了错误。使用setHeader,我也会收到错误。

使用Postman,我可以输入API键并接收响应,没有问题。我知道软件包在那里,但我认为,如果可能的话,在不使用附加依赖项的情况下学习可能会更好。

代码语言:javascript
复制
var express = require("express"); 
var app = express();
var request = require("request");

request.get('https://api.yelp.com/v3/businesses/search', function (error, 
response, body) {
'auth': {
  'bearer': 'api_key_here'
}
});

app.listen(3000)

编辑:我修复了回调函数(它传递了头),现在可以运行了,但是我现在得到了{"error": {"code": "TOKEN_MISSING", "description": "An access token must be supplied in order to use this endpoint."}}。当API键在POSTMAN中正常工作时,我仍然混淆了我在这里做错了什么。

代码语言:javascript
复制
var express = require("express"); 
var app = express();
var request = require("request");

request.get('https://api.yelp.com/v3/businesses/search', {
'Authorization': {
Bearer: 'api key'
}}
function(error, response, body){
console.log(body);
}); 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-09 09:31:36

我尝试使用express.js来实现Yelp,但我发现使用叶利普要容易得多。

我将其实现如下:

代码语言:javascript
复制
require('dotenv').config();

const yelp = require('yelp-fusion');

const apiKey = process.env.YELP_API_KEY;

const searchRequest = {
  term: 'restaurants',
  location: 'Los Angeles',
};

const client = yelp.client(apiKey);

client.search(searchRequest)
  .then((response) => {
    console.log(response.jsonBody);
  })
  .catch((error) => {
    console.log(error);
  });

第一行是使用.env文件。

我将Yelp密钥保存在.env文件中,如下所示:YELP_API_KEY=6fNc0sj5Oyt_jsU2gdeDrlo_1NLm5c-df3f

然后我将它分配给const apiKey,并将其用作yelp.client()的一个参数。

yelp的文档为您提供了更多关于企业搜索参数的详细信息。

最后,client.search()方法将返回包含所需所有数据的response.jsonBody。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53680956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档