Parse platform 在Intel XDK for Parse.com REST API或DreamFactory中创建Web服务
有没有人成功地在XDK中为DreamFactory或Parse.com REST API创建了新的web服务?我可以通过curl从命令行中得到响应,所以看起来应该是可行的。到目前为止,我还没能使这两种方法都起作用 以下是curl api调用供参考: DreamFactory(首先需要会话开启器调用):Parse platform 在Intel XDK for Parse.com REST API或DreamFactory中创建Web服务,parse-platform,intel-xdk,Parse Platform,Intel Xdk,有没有人成功地在XDK中为DreamFactory或Parse.com REST API创建了新的web服务?我可以通过curl从命令行中得到响应,所以看起来应该是可行的。到目前为止,我还没能使这两种方法都起作用 以下是curl api调用供参考: DreamFactory(首先需要会话开启器调用): (返回一个包含会话ID的大JSON字符串,如下所示) Parse.com: 我是JSON新手,所以我怀疑我的一个或多个apiconfig.JSON、testapp.JSON或testapp.j
(返回一个包含会话ID的大JSON字符串,如下所示)
Parse.com:
我是JSON新手,所以我怀疑我的一个或多个apiconfig.JSON、testapp.JSON或testapp.js文件中有问题。我已经用它们做了足够多的实验,现在它们有点乱七八糟,但是如果有帮助的话,我可以发布它们。我希望已经成功为这些API或类似API创建了XDKWeb服务的人能够提供一些指导
谢谢 我不认为您的问题与英特尔XDK有关,但发布一些代码可能会帮助我们解决问题或提供一些指导。但是,如果更改了项目中的一些配置文件,则可能会遇到一些问题 AJAX(异步JavaScript和XML)可用于在项目中与RESTWeb服务交互。关于Stack Overflow或Google,有很多例子可以帮助您向前面描述的两个web服务发出HTTP请求。有关DreamFactory,请参阅
如果您在本地MySQL数据库中有一个名为roles的表,那么GET的URL应该是/rest/db/roles。复制自XDK支持工程师对HTML5开发论坛()上一个单独问题的回复: 对于URL字符串中需要两个键的API,请将以下字段添加到apiconfig.json文件:
"auth": "key",
"keyParam": "apiKey",
"signature": "apiSecret"
键值可以作为.js文件中的credentials.apiKey和credentials.apiSecret访问
对于通过标头需要2个键的API。将所需的标题放在变量key_info中,并在.js文件中使用以下命令:
return $.ajax({url: url,
data: key_info
});
在您发布的代码中,apiconfig.json文件中列出的服务名称是“parsedbtest”,而文件名是“parsetestdb.js”和“parsetestdb.json”。
通过将apiconfig条目更改为:
{
"parsetestdb": {
"name": "test db parse.com",
"dashboardURL": "https://www.parse.com/docs/rest",
"auth": "key",
"keyParam": "apiKey",
"signature": "apiSecret"
}
}
那么您的parsetestdb.js将是:
(function (credentials) {
var exports = {};
exports.TestObject = function (params) {
var url = 'https://XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:javascript-key='+ credentials.apiKey +'@api.parse.com/1/classes/TestObject'; //Or credentials.apiSecret.
return $.ajax({url: url});
};
return exports;
})
还可以使用params.objectId和params.foo输入其他参数
此外,上面使用的方法名是“TestObject”。这应该与.json文件中的方法名匹配(因此,没有空格)。因此,parsetestdb.json将是:
{
"endpoints":[
{
"name":"Methods",
"methods":[
{
"MethodName":"TestObject",
"HTTPMethod":"GET",
"URI":"TestObject",
"RequiresOAuth":"N",
"parameters":[
{
"Name":"objectId",
"Required":"N",
"Location":"query",
"Type":"string"
},
{
"Name":"foo",
"Required":"N",
"Location":"query",
"Type":"string"
}
]
}
]
}
]
}
你应该提供不起作用的代码,否则这是离题的。嗨-谢谢你的评论和回复(很抱歉延迟回复,我正在旅行)。一位XDK支持工程师在英特尔HTML5开发论坛的另一篇帖子中回答了这个问题:抱歉,我误读了你的问题,以为你对DreamFactory的cURL命令有问题。无论如何,希望有人会发现这些cURL示例很有用……这里有两个问题:如何知道api.config文件的apiKey和/或apiSecret是什么?在密钥部分的解析中没有明确表示“机密”的内容,它只是一个完整的lotta密钥,我不知道应该使用哪个密钥作为机密。第二,它说将2个必需的头放在一个名为key_info的变量中,这应该是一个对象还是一个数组?
{
"parsetestdb": {
"name": "test db parse.com",
"dashboardURL": "https://www.parse.com/docs/rest",
"auth": "key",
"keyParam": "apiKey",
"signature": "apiSecret"
}
}
(function (credentials) {
var exports = {};
exports.TestObject = function (params) {
var url = 'https://XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:javascript-key='+ credentials.apiKey +'@api.parse.com/1/classes/TestObject'; //Or credentials.apiSecret.
return $.ajax({url: url});
};
return exports;
})
{
"endpoints":[
{
"name":"Methods",
"methods":[
{
"MethodName":"TestObject",
"HTTPMethod":"GET",
"URI":"TestObject",
"RequiresOAuth":"N",
"parameters":[
{
"Name":"objectId",
"Required":"N",
"Location":"query",
"Type":"string"
},
{
"Name":"foo",
"Required":"N",
"Location":"query",
"Type":"string"
}
]
}
]
}
]
}