2015-09-03 44 views
0

根据https://salesforce.stackexchange.com/questions/48901/create-streaming-pushtopic-using-rest-api我应该能够使用标准sobject API创建PushTopic。但是,当我这样做时,我得到一个错误如何在节点(jsforce)中使用SOAP/REST API创建PushTopic

所请求的资源不存在。

事实上,我甚至无法描述对象。

我正在使用nodejsforce来测试这个。我已成功使用developer console中的execute anonymous apex code创建主题,但我需要在我自己的服务器中完成。

我的代码如下所示:

var jsforce = require('jsforce'); 
var config = {...}; 
var conn = new jsforce.Connection({ 
    oauth2 : { 
    clientId : config.oauthClientId, 
    clientSecret : config.oauthSecret, 
    redirectUri : config.oauthCallbackUrl 
    }, 
    instanceUrl : config.instanceUrl, 
    accessToken : config.accessToken, 
    refreshToken: config.refreshToken 
}); 

conn 
    .sobject('PushTopic') 
    .describe() 
    .then(function(ret){ 
    console.log('Description:', ret) 
    }, function(err){ 
    console.log('Error:', err) 
    }); 

我得到:

错误{[NOT_FOUND:所请求的资源不存在]的名字: 'NOT_FOUND',错误码: 'NOT_FOUND'}

如果我使用的'Account'代替'PushTopic'我得到:

说明{actionOverrides:[], 可激活的:假的, childRelationships: ...

这是jsforce有问题吗?任何想法赞赏!

回答

-1

根据这一文件支持REST调用是:

REST:DELETE,GET,PATCH,POST(查询请求在 URI指定)

这个

总之,如果您在Workbench中检查示例Streaming API配置不需要Salesforce describe()调用。

+0

谢谢;我同意它支持这些电话 - 或者应该 - 这就是为什么我对我的结果感到困惑。您是否能够使用API​​创建主题? – danlash

2

好的。问题是我的用户没有PushTopic对象的权限。即使我可以订阅主题产生的流媒体频道(启用流媒体API),也需要额外的权限才能创建主题。

设置 - >管理用户 - >权限设置 - >新建 - >保存 - >对象设置 - >按主题 - >编辑

然后

管理分配 - >添加任务

我创建了一个名为'PushTopic_Creator'的权限集,并且只添加了该权限,然后将其应用到我的用户。我现在可以描述和创建PushTopics!

相关问题