Google API JavaScriptクライアントライブラリを使用して複数のApp Engineエンドポイントを呼び出すWebアプリケーションがあります。約束モードでJavaScriptライブラリを使用してApp Engineエンドポイントを呼び出す方法
私は現在、このアプリケーションをGoogle(https://developers.google.com/api-client-library/javascript/features/promises#using-promises)の推奨するコールバックモードから約束モードに変更しており、問題が発生しています。アプリはコールバックモードでうまく動作することに注意してください。
約束モードでの私の問題は、リクエストメソッドを呼び出すときに使用する正しいパス引数あるものを見つけることです:
JavaScritコード:「customerApi」で
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
});
エンドポイントの定義:それが満たさJavaScriptのリクエストのパス引数に含めることによって動作します私のエンドポイントの数については
@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 {
hod、@ApiMethodアノテーションで宣言された "path"と "name"の値。上記のエンドポイントの
すなわち、次のパスは動作します: https://myappenginename.appspot.com/_ah/api/customerApi/v1/customerByParent/listByParent
を不思議なことに、これは同じ種類のいくつかの他のエンドポイントでは動作しません。 404 HTTPエラーまたは503エラーが表示されます。
私はまた、あなたがAPIをエクスプローラではなく、成功せずにエンドポイントを照会すると、「要求」の下に表示されたパスを使用してみました....
はとApp Engineのエンドポイントを呼び出す方法上の任意の詳細なドキュメントがありますGoogle API JavaScriptクライアントライブラリで約束していますか?私は何も発見していない。あなたは共有するいくつかのアドバイスがありますか?
事前