如何获得优步乘车价格
How to get uber ride price
我编辑了整个主题,因为我对整个主题进行了很好的阅读 API,现在我遇到了另一个问题......我会尽量在这里留下尽可能多的细节。
你给出的错误是 401 of uber api,但是,我做的一切都是正确的......我的 INDEX.html 看起来像这样:
index.html
<html>
<head>
<title>Party Invitation</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link href='http://fonts.googleapis.com/css?family=Source+Sans+Pro:200,300,400,600' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="css/normalize.css">
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<section>
<h1>Party</h1>
<div class="info-container">
<span class="info-header">When</span>
<span class="info when">September 18, 2014 at 6:00pm</span>
</div>
<div class="info-container">
<span class="info-header">Where</span>
<span class="info where">Thinkful HQ</span>
</div>
<img class="map" src="http://maps.googleapis.com/maps/api/staticmap?center=40.7248,-73.99597&zoom=17&format=png&sensor=false&size=280x280&maptype=roadmap&style=element:geometry.fill|color:0xf4f4f4&markers=color:red|40.7248,-73.99597&scale=2" alt="">
<div class="button">
<p id="time">ESTIMATING TIME</p>
</div>
</section>
<script src="js/jquery-2.1.1.min.js"></script>
<script src="js/uber.js"></script>
</body>
然后我的uber.js是这样的:
uber.js
// Uber API Constants
var uberClientId = "RxGbzH***************"
, uberServerToken = "h_hqd3L4***************";
// Create variables to store latitude and longitude
var userLatitude
, userLongitude
, partyLatitude = 19.3256725
, partyLongitude = -43.1579731;
navigator.geolocation.watchPosition(function(position) {
// Update latitude and longitude
userLatitude = position.coords.latitude;
userLongitude = position.coords.longitude;
// Query Uber API if needed
getEstimatesForUserLocation(userLatitude, userLongitude);
});
function getEstimatesForUserLocation(latitude,longitude) {
$.ajax({
url: "https://api.uber.com/v1/estimates/price",
headers: {
Authorization: "KA.ey**********************************************************************************************************************************" + uberServerToken
},
data: {
start_latitude: latitude,
start_longitude: longitude,
end_latitude: partyLatitude,
end_longitude: partyLongitude
},
success: function(result) {
console.log(result);
}
});
}
And this is the error that is appearing
And my uber control panel is like this
谁能告诉我为什么他们在控制台上出现这两个错误?我不知道该怎么办
=\
如我所见 - 您的应用程序 set-up 不正确。您没有重定向 URL、隐私政策,因为您正在从 JS - Origin URL:
进行 API 调用
所以添加如下内容:
重定向 URL:http://localhost:7000/redirect
隐私政策:http://localhost:7000/privacy
来源 URL: http://localhost:7000
我不确定您从哪里获得访问令牌 - 因为您没有正确设置您的应用程序 - 但即便如此,这也不会起作用,因为您的 header 无效。您缺少 access_token 的令牌类型 "Bearer"。所以,在这种情况下,您的代码应该是这样的:
headers: {
Authorization: "Bearer KA.ey**********************************************************************************************************************************"
}
如果您想使用服务器令牌:
headers: {
Authorization: "Token uberServerToken"
}
请阅读我们的 documentation 了解更多信息。
我编辑了整个主题,因为我对整个主题进行了很好的阅读 API,现在我遇到了另一个问题......我会尽量在这里留下尽可能多的细节。
你给出的错误是 401 of uber api,但是,我做的一切都是正确的......我的 INDEX.html 看起来像这样:
index.html
<html>
<head>
<title>Party Invitation</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link href='http://fonts.googleapis.com/css?family=Source+Sans+Pro:200,300,400,600' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="css/normalize.css">
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<section>
<h1>Party</h1>
<div class="info-container">
<span class="info-header">When</span>
<span class="info when">September 18, 2014 at 6:00pm</span>
</div>
<div class="info-container">
<span class="info-header">Where</span>
<span class="info where">Thinkful HQ</span>
</div>
<img class="map" src="http://maps.googleapis.com/maps/api/staticmap?center=40.7248,-73.99597&zoom=17&format=png&sensor=false&size=280x280&maptype=roadmap&style=element:geometry.fill|color:0xf4f4f4&markers=color:red|40.7248,-73.99597&scale=2" alt="">
<div class="button">
<p id="time">ESTIMATING TIME</p>
</div>
</section>
<script src="js/jquery-2.1.1.min.js"></script>
<script src="js/uber.js"></script>
</body>
然后我的uber.js是这样的:
uber.js
// Uber API Constants
var uberClientId = "RxGbzH***************"
, uberServerToken = "h_hqd3L4***************";
// Create variables to store latitude and longitude
var userLatitude
, userLongitude
, partyLatitude = 19.3256725
, partyLongitude = -43.1579731;
navigator.geolocation.watchPosition(function(position) {
// Update latitude and longitude
userLatitude = position.coords.latitude;
userLongitude = position.coords.longitude;
// Query Uber API if needed
getEstimatesForUserLocation(userLatitude, userLongitude);
});
function getEstimatesForUserLocation(latitude,longitude) {
$.ajax({
url: "https://api.uber.com/v1/estimates/price",
headers: {
Authorization: "KA.ey**********************************************************************************************************************************" + uberServerToken
},
data: {
start_latitude: latitude,
start_longitude: longitude,
end_latitude: partyLatitude,
end_longitude: partyLongitude
},
success: function(result) {
console.log(result);
}
});
}
And this is the error that is appearing
And my uber control panel is like this
谁能告诉我为什么他们在控制台上出现这两个错误?我不知道该怎么办
=\
如我所见 - 您的应用程序 set-up 不正确。您没有重定向 URL、隐私政策,因为您正在从 JS - Origin URL:
进行 API 调用所以添加如下内容:
重定向 URL:http://localhost:7000/redirect
隐私政策:http://localhost:7000/privacy
来源 URL: http://localhost:7000
我不确定您从哪里获得访问令牌 - 因为您没有正确设置您的应用程序 - 但即便如此,这也不会起作用,因为您的 header 无效。您缺少 access_token 的令牌类型 "Bearer"。所以,在这种情况下,您的代码应该是这样的:
headers: {
Authorization: "Bearer KA.ey**********************************************************************************************************************************"
}
如果您想使用服务器令牌:
headers: {
Authorization: "Token uberServerToken"
}
请阅读我们的 documentation 了解更多信息。