5

WAMS 中添加了一个API功能,我可以在其中定义自定义脚本。这似乎不赞成以前创建脚本表的做法。但是,我找不到任何关于如何使用它的描述。

哪些客户端可以访问此功能?它可以在 iOS 或 Javascript 中使用吗?

在此处输入图像描述

4

3 回答 3

6

还有一些关于这个主题的帖子:http: //blogs.msdn.com/b/carlosfigueira/archive/2013/06/14/custom-apis-in-azure-mobile-services.aspx(服务器端)和http ://blogs.msdn.com/b/carlosfigueira/archive/2013/06/19/custom-api-in-azure-mobile-services-client-sdks.aspx(客户端)。

此外,由于您使用 ios 标记了您的问题,以下是您用于使用MSClient该类的实例调用 API 的代码:

如果您的 API 只处理(接收/返回)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);
}];

或使用请求正文(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);
}];

如果您的 API 处理非 JSON 数据,您可以使用其他选择器来获取/返回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);
}];
于 2013-06-15T03:06:12.817 回答
5

我也找到了这个帮助:

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

基本上,您可以使用这种端点格式访问您的自定义 API:

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

把它放在你的脚本上:

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

并在 GET 上设置您的 API 权限以允许所有人,然后您可以使用浏览器或提琴手通过访问端点来测试您的 API:

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

如果您没有更改您的许可,则必须在您的请求中输入如下标头代码:

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
于 2013-06-14T01:41:01.383 回答
5

这可能会有所帮助:Windows Azure 移动服务中的新增功能:Api 脚本

于 2013-06-13T01:09:00.947 回答