2015-09-03 47 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!

相關問題