2017-06-13 54 views
0

我正在嘗試請求獲取靜態地圖或旅行收據,Uber API GET/requests/{request_id}/receipt [message] =>禁止

$headers = array(
"Authorization: Bearer {$this->token}", 
'Accept-Language: en_US', 
'Content-Type: application/json' 
); 
curl = curl_init(); 
curl_setopt($curl, CURLOPT_URL, 'https://api.uber.com/v1.2/requests/my-request-id-xxx/receipt'); 
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE); // So it doesnt print out results 


$curl_results = curl_exec($curl); 
curl_close($curl); 

// Uber Responds with JSON 
$curl_results = json_decode($curl_results, TRUE); print_r($curl_results); 

的迴應是這樣的:

Array 
(
    [message] => Forbidden 
    [code] => forbidden 
) 

我刷新我的令牌,並也獲得了新的令牌和三重檢查,以確保我已經選擇了正確的範圍。我知道這是特權範圍,我試圖訪問的帳戶是我自己的帳戶。我唯一的解釋是,可能發生的情況是,在API帳戶下,我的電子郵件被標記爲「所有者」而不是「開發人員」。這可能是我被拒絕的原因嗎?還是我犯了另一個錯誤?

+0

經過更多的研究,此API是否適用於在過去「x」天內出現的遊樂設施?就像它只是意味着對於最近發生的旅行? – Jermel

+0

您使用哪個範圍的持票人令牌? –

+0

爲了使這項工作我選擇了每一個範圍,我也發送範圍在初始HTTP請求中爲用戶a確保所有範圍正在被應用。 – Jermel

回答

1

如果您的應用程序未創建請求/事件,則用於/v1.2/requests/xxx/map和/v1.2/requests/xxx/receipt的Uber API不會使其數據可用。你只能訪問/v1.2/history它爲您提供了以下數據:

{ 
    "status": "completed", 
    "distance": 1.4780860317, 
    "product_id": "a1111c8c-c720-46c3-8534-2fcdd730040d", 
    "start_time": 1475545183, 
    "start_city": { 
    "latitude": 37.7749, 
    "display_name": "San Francisco", 
    "longitude": -122.4194 
    }, 
    "end_time": 1475545808, 
    "request_id": "fb0a7c1f-2cf7-4310-bd27-8ba7737362fe", 
    "request_time": 1475545095 
} 

如果你想在一個特定的行程你唯一的選擇就是去到用戶主頁的儀表板@https://riders.uber.com/trips/request_id更多的數據,複製Google靜態地圖圖像的URL SRC並解碼$ _GET [路徑]參數:(