我正在尝试从聚合物1.0获取我的google cloud端点,所有设置和工作(后端和调度器在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 global apis,而不是我的端点。
代码:
<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"
}
}
由于
答案 0 :(得分:6)
一些注意事项:
google-client-loader
是你想要的那个
在新版本发布之前,您必须依赖#master
(因为您已经在做),因为root / apiRoot修复程序尚未发布。
使用Polymer 1.0,camel-cased属性变为小写,因此传递apiRoot
实际上是apiroot
属性。您想要的是设置api-root
和/或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&lt; 0.6而不是Polymer 1.0(除非您复制了一些旧代码)。 它看起来应该是这样的(见Migration Guide):
<dom-module id="job-service">
<template>
...
</template>
</dom-module>
<script>
Polymer({
is: 'job-service',
...
)}
</script>