我有一個Web應用程序,它使用Google API JavaScript客戶端庫調用多個App Engine端點。如何使用承諾模式下的JavaScript庫調用App Engine端點
我目前正在根據Google(https://developers.google.com/api-client-library/javascript/features/promises#using-promises)的建議將此應用程序從回撥模式更改爲承諾模式,並且遇到問題。請注意,該應用程序在回調模式下運行良好。
我與承諾模式的問題是要找到什麼是正確路徑參數調用請求方法時使用:
JavaScrit代碼:
var params = {'webSafeKeyParent’: ‘neN4fm15xW52b2ljZXMtb19saW5lmlYLEglBY1NFwpRpdHkYgICAgQj97AoM’};
gapi.client.request({
'path': 'https://myappenginename.appspot.com/_ah/api/customerApi/v1/?????????',
'params': params
}).then(function(response) {
// Handle response
}, function(reason) {
// Handle error
});
在「customerApi」端點定義:
@ApiMethod(
name = "listByParent",
path = "customerByParent/{webSafeKeyParent}",
httpMethod = ApiMethod.HttpMethod.GET,
scopes = {Constants.EMAIL_SCOPE},
clientIds = {Constants.WEB_CLIENT_ID, com.google.api.server.spi.Constant.API_EXPLORER_CLIENT_ID},
audiences = {Constants.ANDROID_AUDIENCE})
public List<Customer> listByParent(final User user, @Named("webSafeKeyParent") final String webSafeKeyParent, @Nullable @Named("cursor") String cursor, @Nullable @Named("limit") Integer limit) throws UnauthorizedException {
對於我的很少端點,它的工作原理是包含在符合JavaScript請求的路徑參數中hod,@ApiMethod註釋中聲明的「path」和「name」的值。
即對於上述端點,以下路徑的工作原理: https://myappenginename.appspot.com/_ah/api/customerApi/v1/customerByParent/listByParent
奇怪的是這並不適用於同類的一些其它端點工作。我收到一個404 HTTP錯誤或503一個。
我也試過用「請求」下顯示在查詢與API瀏覽器,但沒有成功終點的路徑....
是否有關於如何調用與App Engine端點的任何詳細資料承諾,與谷歌API JavaScript客戶端庫?我還沒有找到。你有什麼建議可以分享嗎?
在此先感謝