如何调用Yelp API访问令牌?

时间:2016-12-01 09:58:44

标签: jquery html ajax

我尝试向Yelp API发送POST请求以使用以下说明获取访问令牌:https://www.yelp.com/developers/documentation/v3/get_started

但是,下面的代码不会向控制台打印任何内容。我不确定问题是什么,或者我是否正确设置了POST请求。我的代码出了什么问题? :(

foodfinder.html:

<!DOCTYPE html>
<html lang="en">
<head>

    <script src="./public/foodfinder.js"></script>
    <meta charset="UTF-8">
    <title>Food Finder</title>
    </head>

    <body>

    Hello world


    </body>
    </html>

foodfinder.js:

$(function () {

var API_HOST = "api.yelp.com";
var SEARCH_PATH = "/v3/businesses/search";
var BUSINESS_PATH = "/v3/businesses/";
var TOKEN_PATH = "/oauth2/token";
var GRANT_TYPE = "client_credentials";

var CLIENT_ID = "abc";  // dummy id for stackoverflow purposes
var CLIENT_SECRET = "xyz";  // dummy secret for stackoverflow purposes

var SEARCH_TERM = "food";
var SEARCH_RADIUS = 500;        // radius is in meters
var SORT_BY = "distance";


$.ajax(API_HOST + TOKEN_PATH, {
    type: "POST",
    data: {
        grant_type: GRANT_TYPE,
        client_id: CLIENT_ID,
        client_secret: CLIENT_SECRET
    },
    contentType: "application/x-www-form-urlencoded",
    dataType: "json",
    success: function (data) {
        console.log(data);

    },
    error: function () {
        console.log("post call error");
    }


})
});

1 个答案:

答案 0 :(得分:0)

也许你需要HOST变量中的https,比如

var API_HOST = "https://api.yelp.com";

当我在没有https的情况下测试呼叫时,我收到一个错误: {"error": {"description": "/oauth2/token", "code": "VALIDATION_ERROR"}}