2016-12-01 60 views
0

我试图发送一个POST请求Yelp的API使用这些指令来获得访问令牌:https://www.yelp.com/developers/documentation/v3/get_started如何调用访问令牌的Yelp API?

但是,下面的代码不打印任何东西到控制台。我不确定问题所在,或者我已经正确设置了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"); 
    } 


}) 
}); 

回答

0

也许你需要的HTTPS在主机变量,像

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

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