SugarCRM Access denied number 40

▼魔方 西西 提交于 2019-12-12 22:46:31

问题


I am trying to get all contacts from the active opportunities below is my request of SugarCRM API v4

{
   "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
}

my query is working fine in mysql workbench in sugarCRM database but the API response is:

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

Can you help?


回答1:


To Achive this you to write Your own end point in 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';
    }
}

For More Details Read this :

Read me ...



来源:https://stackoverflow.com/questions/43342365/sugarcrm-access-denied-number-40

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!