2013-06-12 15 views
5

Un'applicazione API è stata aggiunta a WAMS in cui è possibile definire script personalizzati. Questo sembra deprecare la pratica precedente di creare una tabella di script. Tuttavia, non sono riuscito a trovare alcuna descrizione su come posso usarlo.Come utilizzare la funzionalità API del servizio mobile di Azure

Quali client rendono questa funzione accessibile? Può essere utilizzato da iOS o Javascript?

enter image description here

risposta

6

E un altro paio di post su questo argomento: http://blogs.msdn.com/b/carlosfigueira/archive/2013/06/14/custom-apis-in-azure-mobile-services.aspx (lato server) e http://blogs.msdn.com/b/carlosfigueira/archive/2013/06/19/custom-api-in-azure-mobile-services-client-sdks.aspx (lato client).

Inoltre, dal momento che hai contrassegnato tua domanda con ios, ecco il codice che ci si usa per chiamare l'API utilizzando un'istanza della classe MSClient:

Se l'API si occupa solo di (riceve/rendimenti) dei dati JSON :

MSClient *client = [MSClient clientWithApplicationURLString:@"https://your-service.azure-mobile.net" 
              applicationKey:@"your-application-key"]; 
[client invokeApi:@"calculator/add" 
      body:nil 
     HTTPMethod:@"GET" 
     parameters:@{@"x":@7, @"y":@8} // sent as query-string parameters 
      headers:nil 
     completion:^(id result, NSURLResponse *response, NSError *error) { 
    NSLog(@"Result: %@", result); 
}]; 

o con un corpo della richiesta (POST):

[client invokeApi:@"calculator/sub" 
      body:@{@"x":@7, @"y":@8} // serialized as JSON in the request body 
     HTTPMethod:@"POST" 
     parameters:nil 
      headers:nil 
     completion:^(id result, NSHTTPURLResponse *response, NSError *error) { 
    NSLog(@"Result: %@", result); 
}]; 

Se le offerte API con n on-JSON dei dati, è possibile utilizzare l'altro selettore che prende/restituisce un oggetto NSData:

NSData *image = [self loadImageFromSomePlace]; 
[client invokeApi:@"processImage" 
      data:image 
     HTTPMethod:@"POST" 
     parameters:nil 
      headers:nil 
     completion:^(NSData *result, NSHTTPURLResponse *response, NSError *error) { 
    NSLog(@"Result: %@", result); 
}]; 
+0

C'è qualche latenza tra l'archivio framework pubblicato e il repository GitHub? https://github.com/WindowsAzure/azure-mobile-services Il repository non contiene ancora questa aggiunta. – allprog

+0

È di solito nel repository pochi giorni dopo la pubblicazione degli SDK. Credo che all'inizio della prossima settimana dovrebbe esserci ... – carlosfigueira

+0

Quindi ho provato esattamente quello che stai mostrando e anche se ottengo un risultato con due oggetti, mostrano sempre vuoto. Idee? [autonomo.cliente invokeAPI: @ "pointsbygameperuser" corpo: nil HTTPMethod: @ "GET" parametri: @ {@ "Id": elemento} // inviati come parametri di query-string intestazioni: nil completamento:^(NSArray * risultato , Risposta NSURLResponse *, errore NSError * { NSLog (@ "Risultato:% d", [conteggio risultati]); }]; – George

5

ho trovato questo aiuto anche:

http://www.windowsazure.com/en-us/develop/mobile/tutorials/create-pull-notifications-dotnet

Fondamentalmente si può accedere alla API personalizzata utilizzando questo formato di end-point:

https://service_name.azure-mobile.net/api/api_name

messo sul vostro script:

exports.get = function(request, response) {  
    response.send(200, "Hello World"); 
}; 

e impostare il vostro permesso API su GET per consentire tutti, quindi è possibile utilizzare browser o Fiddler per testare la vostra API visitando l'end-point:

https://service_name.azure-mobile.net/api/api_name

se non si cambia il vostro permesso, è necessario inserire il codice di intestazione come sotto la vostra richiesta:

GET https://service_name.azure-mobile.net/api/test HTTP/1.1 
User-Agent: Fiddler 
Content-type: application/json 
X-ZUMO-APPLICATION: your-manage-key-here 
Problemi correlati