Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Express进行Yelp API身份验证_Javascript_Node.js_Express - Fatal编程技术网

Javascript 使用Express进行Yelp API身份验证

Javascript 使用Express进行Yelp API身份验证,javascript,node.js,express,Javascript,Node.js,Express,我试图向Yelp的API发出GET请求,以便使用Express和Nodejs执行简单的搜索,但是我在理解如何使用提供的API密钥设置请求头时遇到了问题。使用request我试图在文档之后通过基本身份验证,但收到了错误。使用setHeaderI也收到了错误 使用邮递员,我能够输入API密钥,并收到回复,没有问题。我知道软件包就是为了这个而存在的,但我认为如果可能的话,不使用额外的依赖项学习可能会更好 var express = require("express"); var app = expr

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

使用邮递员,我能够输入API密钥,并收到回复,没有问题。我知道软件包就是为了这个而存在的,但我认为如果可能的话,不使用额外的依赖项学习可能会更好

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”:“必须提供访问令牌”
以使用此端点。“}}
。仍然不明白我在这里做错了什么,因为API键在POSTMAN中正常工作

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);
}); 

我尝试使用express.js实现YelpAPI,但我发现使用它更容易

我实现了它,如下所示:

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 API密钥保存在.env文件中,如下所示:
Yelp_API_key=6fNc0sj5Oyt_jsU2gdeDrlo_1NLm5c-df3f

然后我将其分配给
const apiKey
,并将其用作
yelp.client()

yelp fushion’s为您提供了有关企业搜索参数的更多详细信息


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

我尝试使用express.js实现Yelp API,但我发现使用它更容易

我实现了它,如下所示:

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 API密钥保存在.env文件中,如下所示:
Yelp_API_key=6fNc0sj5Oyt_jsU2gdeDrlo_1NLm5c-df3f

然后我将其分配给
const apiKey
,并将其用作
yelp.client()

yelp fushion’s为您提供了有关企业搜索参数的更多详细信息


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

是的,这是有效的,但我试图在必要时不使用任何类型的附加软件包打电话。我最初认为这是一个简单的设置头的授权,但显然不是。是的,这工作,但我试图在不使用任何类型的额外的软件包,如果必要的调用。我最初认为这是一个简单的设置头的授权,但显然不是。