3

我使用 iron.io 调用以下 parse.com 函数来获取我的用户朋友的 Facebook 详细信息。

var getDetailsForID = function (fbID) {

var thePromise = new Parse.Promise();

// TODO: maybe we can batch several users together into a single request................
console.log("Enter getDetailsForID");
FB.api('/v1.0', 'post', { 
    batch: [
        { method: 'get', name: 'basic',      relative_url: fbID + '?fields=id,name,gender&include_headers=false', omit_response_on_success: false },
    ]
}, function(res) {
    console.log("Enter callback in getDetailsForID");
    if(!res || res.error) {
        console.log(!res ? 'error occurred' : res.error);
        return;
    }

    console.log(" getDetailsForID res: " + res);
    thePromise.resolve(res);
});


console.log("Exit getDetailsForID");
return thePromise;
}

在 Iron.io 日志中,我看到:

Enter callback in getDetailsForID
[Error: 139994800940864:error:0607907F:digital envelope routines:EVP_PKEY_get1_RSA:expecting an rsa key:../deps/openssl/openssl/crypto/evp/p_lib.c:288:

以下不被调用:

console.log(" getDetailsForID res: " + res);
    thePromise.resolve(res);

知道如何解决这个问题吗?

4

2 回答 2

1

自从回答了这个问题以来,IronWorker 已经发布了一个 Docker 工作流程。随意使用我们的官方 Iron/node Docker Image。https://github.com/iron-io/dockerworker/tree/master/node

于 2020-11-10T20:44:53.323 回答
0

啊,这绝对不是 Iron.io 的问题,而是您发布到 Facebook v1.0 API 调用的问题。

+ '?fields=id,name,gender&include_headers=false', omit_response_on_success: false

你真的想省略对成功的响应吗?您要将帖子发送到哪个 Facebook 端点?

编辑
IronWorker 当前设置为 0.10.25,截至 2014 年 7 月 22 日,如果您的节点版本小于 0.10.25,则使用您可能会收到此错误。

修复:在您的.worker文件中加载您自己的节点版本添加以下内容

deb "http://ppa.launchpad.net/chris-lea/node.js/ubuntu/pool/main/n/nodejs/nodejs_0.10.29-1chl1~trusty1_amd64.deb" 

# OR you can download it from a local copy

deb "nodejs_0.10.29-1chl1~trusty1_amd64.deb"

如果有 .deb,您可以以类似的方式安装其他丢失或更新的二进制文件版本。

github上的实践示例

tldr。使用最新版本的节点,也可能是 openssl。

于 2014-07-22T20:36:13.987 回答