2017-04-11 31 views
1

我想從下面的活躍機會,所有的聯繫人是我的SugarCRM API v4的請求SugarCRM的訪問被拒絕40號

{ 
    "session":"btcskfetq7sqshio3uv568d8c1", 
    "module_name":"Contacts", 
    "query":"contacts.id IN (
     SELECT opportunities_contacts.contact_id 
     FROM opportunities_contacts 
     JOIN opportunities 
     ON opportunities_contacts.opportunity_id = opportunities.id 
     WHERE opportunities.sales_stage 
     NOT IN ('Closed Won','Closed Lost'))", 
    "order_by":"", 
    "offset":0, 
    "select_fields":[ 
     "first_name", 
     "last_name", 
     "title", 
     "phone_home", 
     "phone_work", 
     "status", 
     "email" 
    ], 
    "link_name_to_fields_array":null, 
    "max_results":0, 
    "deleted":0, 
    "favorites":false 
} 

查詢是工作在MySQL工作臺罰款,SugarCRM的數據庫,但API迴應是:

{"name":"Access Denied","number":40,"description":"You do not have access"}

你能幫忙嗎?

+0

看起來像一個身份驗證問題。做任何簡單的請求都有效嗎?我認爲如果你還沒有這樣做,你需要用MD5來散列你的密碼。 – MartinTawse

+0

我使用MD5進行密碼散列 – Jagan

回答

1

要完成此操作,您需要在suagrcrm中編寫自己的終點。

<?php 
class AtRiskApi extends SugarApi 
{ 
    // This function is only called whenever the rest service cache file is deleted. 
    // This shoud return an array of arrays that define how different paths map to different functions 
    public function registerApiRest() { 
     return array(
      'getAtRisk' => array(
       // What type of HTTP request to match against, we support GET/PUT/POST/DELETE 
       'reqType' => 'GET', 
       // This is the path you are hoping to match, it also accepts wildcards of ? and <module> 
       'path' => array('Accounts', 'at_risk'), 
       // These take elements from the path and use them to populate $args 
       'pathVars' => array('', ''), 
       // This is the method name in this class that the url maps to 
       'method' => 'getAtRisk', 
       // The shortHelp is vital, without it you will not see your endpoint in the /help 
       'shortHelp' => 'Lists at risk accounts in the system', 
       // The longHelp points to an HTML file and will be there on /help for people to expand and show 
       'longHelp' => '', 
      ), 
     ); 
    } 

    function getAtRisk($api, $args) 
    { 
     // Start off with something simple so we can verify the endpoint is registered. 
     return 'burgers'; 
    } 
} 

有關詳細信息,請閱讀本:

Read me ...

+0

謝謝Amitesh我會研究這個。 – Jagan

+0

如果它可以幫助你upvote並接受答案。 –

+0

這是針對v10 API的,但問題在於v4。 – MartinTawse