标签: ibm-cloud-functions

从IBM Cloud Function中的Node.js访问Sharepoint文档

我正在尝试从Node.js编写的IBM Cloud Function访问botshop.cloudappsportal.com上托管的Sharepoint文件中的一些表数据.

我可以在站点上访问Sharepoint的REST API,但身份验证失败.我的理解是,Sharepoint使用了一些复杂的Microsoft身份验证.

这是Node.js代码,

const request = require('request-promise');

function main(params) {
    var options = {
      uri: "http://xxx.botshop.cloudappsportal.com/_api/web/lists/getbytitle('myfile')/items",
      method: 'GET',
      auth: {
        'user': 'myuser@botshop.cloudappsportal.com',
        'pass': 'password'
      }
    }
    return request.get(options).then(response => {
        return response;
    });
}

exports.main = main;
Run Code Online (Sandbox Code Playgroud)

在提示输入用户名/密码后,我可以从浏览器访问该URL.

我也可以使用NTCredentials类从Java访问它.

HttpGet request = new HttpGet("http://xxx.botshop.cloudappsportal.com/_api/web/lists/getbytitle('myfile')/items");
HttpParams httpParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParams, 1000);
HttpConnectionParams.setSoTimeout(httpParams, 1000);
DefaultHttpClient client = new DefaultHttpClient(httpParams);
client.getCredentialsProvider().setCredentials(
    new AuthScope(AuthScope.ANY),
    new NTCredentials("myuser@botshop.cloudappsportal.com", "password", "", ""));
HttpResponse response = client.execute(request);
Run Code Online (Sandbox Code Playgroud)

普通的UsernamePasswordCredentials在Java中不起作用,因此我需要Node.js中的NTCredentials(在IBM Cloud Functions中有效).有任何想法吗?

同样奇怪的是,域的额外参数只是""""有效,奇怪的是当它不传递任何额外的有用数据时需要NTCredentials.

sharepoint node.js ibm-cloud-functions

6
推荐指数
1
解决办法
514
查看次数

IBM Cloud Functions WebAction 给出空响应 (204)

我在使用 IBM Cloud Functions 时遇到了奇怪的行为。我有一个启用了网络的操作 (WebAction),我不需要对其进行身份验证。我使用 Postman(和浏览器)来测试这个新的 REST 端点。(下图左侧)结果是空的,实际的204 No Content 响应。

但是当我监视 Action 时,我可以看到它已被调用并返回了预期的 JSON(下图右侧)。所以代码被正确执行。

在此处输入图片说明

当我执行命令行调用时:

bx wsk action invoke --result talkToEoffice --param name FunctionWorld
Run Code Online (Sandbox Code Playgroud)

我确实看到了预期的结果。我应该提供额外的标题吗?

这是否与同步(阻塞)或非阻塞有关?

openwhisk ibm-cloud-functions

3
推荐指数
1
解决办法
448
查看次数

使用curl和OpenWhisk

我正在尝试使用IBM OpenWhisk.它有自己的CLI,但我想用一个简单的"echo"样本curl.

curl -d-data '{"message": "hellow world"}' https://user:password@openwhisk.ng.bluemix.net:443/api/v1/namespaces/whisk.system/action/samples/echo
curl: (6) Couldn't resolve host '"message": "hello world"'
{
  "error": "HTTP method not allowed, supported methods: GET",
  "code": 81107
}
Run Code Online (Sandbox Code Playgroud)

如何通过curl或类似工具调用OpenWhisk,如何进行身份验证?

curl serverless-framework openwhisk ibm-cloud-functions ibm-cloud

1
推荐指数
1
解决办法
881
查看次数