parse notification docs app parse.com intel-xdk

parse.com - docs - parse server notifications



Cree un servicio web en Intel XDK para la API REST de Parse.com o DreamFactory (3)

¿Alguien ha tenido éxito al crear un nuevo servicio web en XDK para las API REST de DreamFactory o Parse.com? Puedo obtener una respuesta mediante curl desde una línea de comando para ambos, por lo que parece que debería ser posible. Hasta ahora no he podido hacer que ninguno de ellos funcione.

Como referencia, estas son las llamadas curl api:

DreamFactory (requiere una llamada de apertura de sesión primero) :

$ curl -X POST http://ec2-[my server].compute.amazonaws.com:80/rest/user/session -H "X-DreamFactory-Application-Name: testapp" -d ''{"email": "[email protected]", "password" : "[my password]"}''


(Esto devuelve una cadena JSON grande que incluye la ID de la sesión, utilizada a continuación)

$ curl -X GET http://ec2-[my server].compute.amazonaws.com:80/rest/testapp/roles -H "X- DreamFactory-Application-Name: testapp" -H "X-DreamFactory-Session-Token: [my session]" {"record":[{"id":1,"rolename":"Agent","description":"agent"},{"id":2,"rolename":"Client","description":"client"},{"id":3,"rolename":"Admin","description":"administrator"}]}


Parse.com :

$ curl -X GET -H "X-Parse-Application-Id: [my appid]" -H "X-Parse-REST-API-Key: [my api key]" https://api.parse.com/1/classes/TestObject {"results":[{"foo":"bar","createdAt":"2014-07-19T22:07:52.874Z","updatedAt":"2014-07-19T22:07:52.874Z","objectId":"jSpF1RrOy4"}]}


Soy nuevo en JSON, así que sospecho que algo está mal en uno o más de mis archivos apiconfig.json, testapp.json o testapp.js. He experimentado con ellos lo suficiente como para que sean un desastre, pero puedo publicarlos si me sirve. Espero que alguien que ha creado con éxito un servicio web XDK para cualquiera de estas API o una de ellas pueda proporcionar alguna orientación.

¡Gracias!


No creo que su problema esté relacionado con Intel-XDK, pero publicar algún código puede ayudarnos a resolver el problema o dar alguna orientación. Aunque, si modificó algunos de los archivos de configuración dentro del proyecto, es posible que tenga algunos problemas.

AJAX (Asynchronous JavaScript and XML) se puede utilizar para interactuar con los servicios web REST desde dentro de su proyecto. Hay muchos ejemplos en o Google para ayudarlo a realizar solicitudes HTTP a los dos servicios web que describió anteriormente.


Para DreamFactory, mira aquí .

Si tiene una tabla llamada roles en el db MySQL local, su URL para un GET debe ser / rest / db / roles.


Copiado de la respuesta de un ingeniero de soporte de XDK a una pregunta separada en su foro de desarrollo HTML5 ( http://go.shr.lc/1nr6fsT ):

Para las API que necesitan dos claves en la cadena URL, agregue estos campos al archivo apiconfig.json:

"auth": "key", "keyParam": "apiKey", "signature": "apiSecret"

Se puede acceder a los valores clave como credentials.apiKey y credentials.apiSecret en el archivo .js.

Para las API que necesitan 2 claves a través de los encabezados. Coloque los encabezados necesarios en una variable, key_info y en el archivo .js, use esto:

return $.ajax({url: url, data: key_info });

En el código que ha publicado, el nombre del servicio enumerado en el archivo apiconfig.json es ''parsedbtest'', mientras que los nombres de archivo son ''parsetestdb.js'' y ''parsetestdb.json''. Solucione esto cambiando la entrada apiconfig a:

{ "parsetestdb": { "name": "test db parse.com", "dashboardURL": "https://www.parse.com/docs/rest", "auth": "key", "keyParam": "apiKey", "signature": "apiSecret" } }

Entonces tu parsetestdb.js será:

(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; })

También puede usar params.objectId y params.foo para ingresar otros parámetros.

Además, el nombre del método utilizado anteriormente es ''TestObject''. Esto debe coincidir con el nombre del método en el archivo .json (por lo tanto, no hay espacios en blanco). Entonces el parsetestdb.json será:

{ "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" } ] } ] } ] }