Polymer 和 google 云端点 Go 后端
Polymer & google cloud endpoints Go backend
我正在尝试从 polymer 1.0 获取我的 google 云端点,所有设置和工作(appengine 上的后端和调度程序),但是 google-api-loader/google-client-loader(都试过了)拒绝承认我的端点,使用 google-api-loader 什么都不会发生]
https://content.googleapis.com/discovery/v1/apis/jobs/v1/rest?fields=rootUrl%2CservicePath%2Cresources%2Cparameters%2Cmethods&pp=0
其中包含所有 google 个全局 api,而不是来自我端点的那个。
代码:
<polymer-element name="job-service" attributes="jobs">
<template>
<google-api-loader id="api" name="jobs" version="v1" appId="MyAppID" apiRoot="http://localhost:8082/_ah/api" root="http://localhost:8082/_ah/api">
</google-api-loader>
</template>
<script>
Polymer({
is: 'job-service',
ready: function() {
var setJobs = (function(data) {
this.jobs = data.result.jobs;
}).bind(this);
this.$.api.addEventListener('google-api-load', (function() {
this.api = this.$.api.api;
this.api.getJobs().then(setJobs);
}).bind(this));
},
});
</script>
</polymer-element>
尝试更新 google-apis 以掌握没有任何变化。
这是我的 bower.json:
{
"name": "polymer-project",
"dependencies": {
"paper-header-panel": "PolymerElements/paper-header-panel#^1.0.0",
"paper-item": "PolymerElements/paper-item#^1.0.0",
"google-apis": "GoogleWebComponents/google-apis#master",
"paper-icon-button": "PolymerElements/paper-icon-button#^1.0.0"
}
}
谢谢
一些注意事项:
google-client-loader
就是你想要的那个
在发布新版本之前,您将不得不依赖 #master
(正如您已经在做的那样),因为 root/apiRoot 修复程序尚未发布。
在 Polymer 1.0 中,驼峰式属性变为小写,因此传入 apiRoot
实际上是 apiroot
属性。你想要的是设置 api-root
and/or app-id
(是的,我知道那部分令人困惑......,见 Migration Guide)
<google-client-loader
id="api" name="jobs" version="v1"
app-id="MyAppID" api-root="http://localhost:8082/_ah/api">
app-id
将不会被使用,但只要设置了 api-root
。将其部署到服务器后,您必须删除 api-root
您的代码仍然是 Polymer <0.6 而不是 Polymer 1.0(除非您复制了一些旧代码)。
它应该看起来像这样(参见 Migration Guide):
<dom-module id="job-service">
<template>
...
</template>
</dom-module>
<script>
Polymer({
is: 'job-service',
...
)}
</script>
我正在尝试从 polymer 1.0 获取我的 google 云端点,所有设置和工作(appengine 上的后端和调度程序),但是 google-api-loader/google-client-loader(都试过了)拒绝承认我的端点,使用 google-api-loader 什么都不会发生]
https://content.googleapis.com/discovery/v1/apis/jobs/v1/rest?fields=rootUrl%2CservicePath%2Cresources%2Cparameters%2Cmethods&pp=0
其中包含所有 google 个全局 api,而不是来自我端点的那个。
代码:
<polymer-element name="job-service" attributes="jobs">
<template>
<google-api-loader id="api" name="jobs" version="v1" appId="MyAppID" apiRoot="http://localhost:8082/_ah/api" root="http://localhost:8082/_ah/api">
</google-api-loader>
</template>
<script>
Polymer({
is: 'job-service',
ready: function() {
var setJobs = (function(data) {
this.jobs = data.result.jobs;
}).bind(this);
this.$.api.addEventListener('google-api-load', (function() {
this.api = this.$.api.api;
this.api.getJobs().then(setJobs);
}).bind(this));
},
});
</script>
</polymer-element>
尝试更新 google-apis 以掌握没有任何变化。
这是我的 bower.json:
{
"name": "polymer-project",
"dependencies": {
"paper-header-panel": "PolymerElements/paper-header-panel#^1.0.0",
"paper-item": "PolymerElements/paper-item#^1.0.0",
"google-apis": "GoogleWebComponents/google-apis#master",
"paper-icon-button": "PolymerElements/paper-icon-button#^1.0.0"
}
}
谢谢
一些注意事项:
google-client-loader
就是你想要的那个
在发布新版本之前,您将不得不依赖 #master
(正如您已经在做的那样),因为 root/apiRoot 修复程序尚未发布。
在 Polymer 1.0 中,驼峰式属性变为小写,因此传入 apiRoot
实际上是 apiroot
属性。你想要的是设置 api-root
and/or app-id
(是的,我知道那部分令人困惑......,见 Migration Guide)
<google-client-loader
id="api" name="jobs" version="v1"
app-id="MyAppID" api-root="http://localhost:8082/_ah/api">
app-id
将不会被使用,但只要设置了 api-root
。将其部署到服务器后,您必须删除 api-root
您的代码仍然是 Polymer <0.6 而不是 Polymer 1.0(除非您复制了一些旧代码)。 它应该看起来像这样(参见 Migration Guide):
<dom-module id="job-service">
<template>
...
</template>
</dom-module>
<script>
Polymer({
is: 'job-service',
...
)}
</script>