我一直在尝试上传两个不同版本的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();