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>