英特尔XDK:Parse.com整合“未经授权”

时间:2014-09-02 18:46:37

标签: parse-platform integration intel-xdk unauthorized

我是英特尔XDK的新手,我尝试在该视频教程中制作一个非常简单的应用程序:Using Services Datafeed in App Designer

但是,我想要整合我在Parse.com中的数据库,而不是来自烂番茄的特定服务。为此,我遵循了这个视频教程:"整合新服务"

" [HTTPS]://software.intel.com/en-us/html5/videos/integrating-a-new-service" ;,

最后回复是:"未经授权"

然后我发现只有this answer来自英特尔的HTML5开发论坛。我没有得到任何东西。再次回复:"未经授权"

现在我感到困惑和失望,因为:

  1. 我无法找到其他资源来帮助我自己
  2. 我不想做别人而不是我,但
  3. 如果没有一个完整的例子,应该如何让它学习?
  4. 我的代码现在与视频类似:"整合新服务"

    apiconfig.json

    {
      "MyService": {
        "name": "The external service",
        "description": "A great API with an external service",
        "dashboardUrl": "https://parse.com",
        "auth": "key",
        "signature": "apiSecret"
      }
    }
    

    MyService.js

    (function (credentials) {
      var exports = {};
    
      exports.ServiceObject = function(params) {
        var url = 'https://api.parse.com/1/classes/ServiceObject';
        params['apiKey'] = credentials.apiKey;
        url = url + '?' + $.param(params);
        return $.ajax({url: url, type: 'GET'});
      };
    
      return exports;
    })
    

    MyService.json

    {
    "endpoints": [
      {
        "name": "classes",
        "dashboardUrl": "https://parse.com/docs/rest",
        "methods": [
          {
            "MethodName": "ServiceObject",
            "Synopsis": "Show the entries",
            "parameters": [
              {
                "Name": "objectId",
                "Required": "N",
                "Default": "",
                "Type": "string",
                "Description": "The object ID"
              },
              {
                "Name": "text",
                "Required": "N",
                "Default": "",
                "Type": "string",
                "Description": "The text"
              }
            ]
          }
        ]
      }
    ]
    }
    

    有人可以帮我更多吗?以他认为最好的方式。

    谢谢大家

    编辑:

    经过以下回答,我的问题解决了。

    " MyService.js "修正后的文件是:

    (function (credentials) {
      var exports = {};
    
        exports.ServiceObject = function(params) {
        var url = 'https://api.parse.com/1/classes/ServiceObject';
        return $.ajax({
                url : url,
                headers : {
                'X-Parse-Application-Id' : credentials.apiKey,
                'X-Parse-REST-API-Key' : credentials.apiSecret
                }
            });
        };
    
      return exports;
    })
    

    @ user1736947:您的回答简明扼要,正是我所需要的。 当然,将来我需要很多帮助,但现在我可以继续我的自我教育了。 非常感谢你。

1 个答案:

答案 0 :(得分:0)

接受身份验证密钥的方式因不同的服务而异。视频中的示例.. rottentomatoes ..它接受了键作为url参数,因此我们将键附加到url并发送它。但是,似乎parse想要标题中的键(根据this

所以等效的ajax调用将是:

 exports.ServiceObject = function(params) {
   var url = 'https://api.parse.com/1/classes/ServiceObject';
   return $.ajax({
     url : url,
     headers : {
      'X-Parse-Application-Id' : credentials.apiKey,
      'X-Parse-REST-API-Key' : credentials.apiSecret
     }
  });

这可能无法解决所有问题,但它会使您超越授权问题。如果你能以这种方式回顾课程,请告诉我。 要获取特定的行条目,请使用params.objectID附加URL。

此外,XDK服务选项卡具有类似于解析的服务... kinvey。它还允许您在线创建数据库并进行检索。