在GAE端点上维护多个API版本

时间:2016-10-19 07:11:45

标签: python api google-app-engine google-cloud-endpoints

我一直在尝试上传两个不同版本的GAE端点python API,以便拥有开发和生产API,并在第一个上工作而不会干扰用户。我似乎无法让它工作,我发现文档不清楚如何做到这一点。

目前为了上传新版本,我将我的API类的python decorator更改为:

@endpoints.api(name=..., version='v2', audiences=..., ...)

然后在app.yaml我将版本设置为:

version: 2

最后我使用appcfg.py来更新GAE上的应用程序:

appcfg.py -A [project_name] -V 2 update [project_folder]

完成所有这些操作后,我可以在App Engine > Versions中看到Google云端控制台中出现的版本。但是,在API资源管理器中,我只能看到版本1,当我将Android应用中的网址更改为“https://2-dot-[project_name].appspot.com/_ah/api/”时,它不起作用,而“https://1-dot-[project_name].appspot.com/_ah/api/”工作正常。

我做错了吗?

修改

Android应用程序中的代码如下(尽管无论前端如何,我认为API资源管理器应该在左侧的“所有版本”选项卡中显示不同的版本?)

String WEB_CLIENT_ID = "...";

String API_ROOT_URL = "https://1-dot-[project_name].appspot.com/_ah/api/";

GoogleAccountCredential credential = GoogleAccountCredential.usingAudience(mContext, "server:client_id:".concat(WEB_CLIENT_ID));

credential.setSelectedAccountName(mAccountName);

Networkth.Builder builder = new Networkth.Builder(AndroidHttp.newCompatibleTransport(),
                    new AndroidJsonFactory(), credential)
                    .setRootUrl(API_ROOT_URL);

myApiService = builder.build();

myApiService.[method_name]().execute();

0 个答案:

没有答案