【问题标题】:Apigee JS SDK returning 401 (Unauthorized) for guestApigee JS SDK 为访客返回 401(未经授权)
【发布时间】:2014-06-25 18:21:49
【问题描述】:

我刚刚在我的 Apigee 帐户上创建了一个新应用程序,在 /article 上为访客设置了所有角色,但在尝试使用 javaScript SDK 获取数据时仍然出现“401(未授权)”错误。

Ps:我可以通过 usergrid 网站访问数据。

var client = new Apigee.Client({
  orgName: 'MY-ORG-NAME', // Apigee.com username
  appName: 'MyAppName' // Apigee app name
});

var articles = new Apigee.Collection({
  "client": client,
  "type": "articles"
});

...

articles.fetch(
  function() {
    while (articles.hasNextEntity()) {
      var article = articles.getNextEntity();
      $('#lst').append('<li>' + article.get('title') + '</li>');
    }
    $('#lst').listview('refresh');
  }
); //articles.fetch

【问题讨论】:

    标签: javascript apigee


    【解决方案1】:

    我仍然不太清楚原因,但由于我在 Chrome 上测试我的应用程序时遇到问题,只需转到开发人员工具的资源选项卡,选择本地存储文件:// 并删除 APIGEE_TOKEN。之后我刷新了应用程序,它运行良好。

    【讨论】:

      【解决方案2】:

      我猜您没有使用沙盒应用程序。如果是这种情况,那么您将遇到安全墙,因为您没有在通话中发送令牌。有关安全性和使用令牌的信息,请参见此处:

      http://apigee.com/docs/app-services/content/app-security

      【讨论】:

      • 是的,我没有使用沙盒,但我在 Apigee 门户的“角色”屏幕上为“访客”授予了此集合的 GET、POST、PUT 和 DELETE 权限。我认为这就足够了,将在此链接上进一步检查,谢谢。
      • 根据您的操作,您可能需要像这样添加您的权限: /collectionname/* 或 /collectionname/** 末尾有 /* 或 /**。
      【解决方案3】:

      删除本地 apigee 令牌(或让您的应用重新授权),因为如果您在设置 GET 等权限之前进行了测试,则令牌将用于先前的状态,apigee 将无法识别您已添加访客权限。

      【讨论】:

      • 刚刚使用 Chrome 开发人员工具删除了令牌,它确实在我的计算机上运行。有没有办法通过 javaScript 删除它,或者我真的需要在我正在测试的每台计算机上手动清除它?
      猜你喜欢
      • 2014-01-30
      • 2023-03-09
      • 1970-01-01
      • 2016-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-26
      • 2014-07-03
      相关资源
      最近更新 更多