【问题标题】:Tryint to generate "Cloud Endpoint Client Library" from Google-app-engine project failed in MAC OS X尝试在 MAC OS X 中从 Google-app-engine 项目生成“Cloud Endpoint Client Library”失败
【发布时间】:2023-03-22 19:31:01
【问题描述】:

我正在尝试使用 Eclipse 插件从 Google App-Engine 项目生成“Cloud Endpoint Client Library”,但它失败并出现异常:InvocationTargetException - “所有具有相同 API 名称和版本的 API 类必须具有准确的相同的 API 范围配置”。 我在 MAC OS X 10.8.4 上使用 Eclipse 4.2 和 Google App-Engine 插件 1.8.3。 奇怪的是:在运行相同 eclipse 和插件版本的 Windows 的 PC 上,从项目生成库不会引发任何异常。

【问题讨论】:

  • 我在 Windows 上使用 Eclipse 4.2、App Engine 1.8.4 时遇到了同样的问题。它是 MobileAssistant 示例应用程序。您解决了这个问题了吗?

标签: eclipse macos google-app-engine


【解决方案1】:

我遇到了同样的问题。 我最终从所有端点类中删除了资源属性,因为这是唯一的区别。

@Api(name = "shoppingassistant",
// resource = "deviceinfos",
version = "v1", namespace = @ApiNamespace(ownerDomain = ApiKeysAndIds.API_OWNER, ownerName = ApiKeysAndIds.API_OWNER, packagePath = ApiKeysAndIds.API_PACKAGE_PATH), clientIds = {
        ApiKeysAndIds.ANDROID_CLIENT_ID, ApiKeysAndIds.IOS_CLIENT_ID, ApiKeysAndIds.WEB_CLIENT_ID }, audiences = { ApiKeysAndIds.AUDIENCE_ID })

项目现在编译,我能够生成客户端库。 (我还没试过android项目)

【讨论】:

    【解决方案2】:

    虽然@Api 注解中的所有属性必须与 API 中的所有类匹配,但您还可以使用 @ApiClass 注解来提供不需要在类之间完全相同的属性。

    对于这种情况:

    @Api(name = "shoppingassistant",
    version = "v1", namespace = @ApiNamespace(ownerDomain = ApiKeysAndIds.API_OWNER,
        ownerName = ApiKeysAndIds.API_OWNER, packagePath = ApiKeysAndIds.API_PACKAGE_PATH),
    clientIds = {
        ApiKeysAndIds.ANDROID_CLIENT_ID, ApiKeysAndIds.IOS_CLIENT_ID, ApiKeysAndIds.WEB_CLIENT_ID},
    audiences = {ApiKeysAndIds.AUDIENCE_ID})
    @ApiClass(resource = "deviceinfos")
    

    阅读完整教程here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-02
      • 2021-09-25
      • 1970-01-01
      • 2014-06-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多