以下是我對Parse.com的RESTful API發出的GET
請求。我想構建請求以僅檢索今天收到的記錄。
$http({
method: "GET",
url: "https://api.parse.com/1/classes/Order",
headers: {
"X-Parse-Application-Id": PARSE_CREDENTIALS.APP_ID,
"X-Parse-REST-API-Key": PARSE_CREDENTIALS.REST_API_KEY,
"Content-Type": "application/json"
},
params: {
// WHAT DO I PUT HERE?
createdAt: /* greater than 8am today, less than or equal to current time */
}
})
從關於查詢約束的Parse API文檔閱讀後,我修改了$ http GET。但是,它仍會返回所有訂單。
var startDate = new Date();
var currentTime = new Date().getTime();
startDate.setHours(8);//set time to 8 am.
$http({ method: "GET",
url: "https://api.parse.com/1/classes/Order",
headers: {
"X-Parse-Application-Id": PARSE_CREDENTIALS.APP_ID,
"X-Parse-REST-API-Key": PARSE_CREDENTIALS.REST_API_KEY,
"Content-Type": "application/json"
},
params: {
where: {
"createdAt": { "$gte": startDate, "$lte": currentTime }
}
}
})
EDIT 1:一旦構建我的get請求像這樣:我收到400的HTTP錯誤,包含以下:
code: 107
error: "invalid date {1.433264918052e+12}"
EDIT 2(解決):我已經解決問題。解析了params屬性的結構之後,我瞭解到Parse API需要ISO格式的DateTime。所以,我的最終版本是這樣的:
var startDate = new Date().toISOString();
var currentTime = new Date().getTime().toISOString();
startDate.setHours(8);//set time to 8 am.
var deferred = $q.defer();
$http({ method: "GET",
url: "https://api.parse.com/1/classes/Order",
headers: {
"X-Parse-Application-Id": PARSE_CREDENTIALS.APP_ID,
"X-Parse-REST-API-Key": PARSE_CREDENTIALS.REST_API_KEY,
"Content-Type": "application/json"
},
params: {
where: {
"createdAt": { "$gte": startDate, "$lte": currentTime }
}
}
})
如果有人想利用這個機會,並給予詳盡的解釋,我會很樂意給他們的答案(如什麼好處是有解析使用ISO在標準的Unix紀元時間?)。
對於那些不熟悉,對於這個REST端點的文件是在這裏:https://parse.com/docs/rest/guide#queries –
@ShotgunNinja所以我使用查詢約束添加參數。我將添加params來顯示我所做的。但它仍然不起作用... –