SugarCRM响应命令dict键_hash

时间:2017-08-03 06:35:30

标签: python sugarcrm

什么是

  

_hash

是通过API请求收到的? 我的请求网址,

  

url =" https://" + sugar_instance +" / rest / v10 / Leads"

SugarCRM中的每个潜在客户/员工/模块都有唯一的user_id吗?如果是,我如何获得使用请求。我正在使用Python。

1 个答案:

答案 0 :(得分:1)

您的问题中有几个不同的问题。我会尝试回答所有这些问题。

什么是_hash?

查看API响应的这个子集:

"modified_user_id": "e8b433d5-5d17-456c-8506-fe56452fcce8",
"modified_by_name": "Reisclef",
"modified_user_link": {
    "full_name": "Administrator",
    "id": "1",
    "_acl": {
        "fields": [],
        "delete": "no",
        "_hash": "8e11bf9be8f04daddee9d08d44ea891e"
    }
},
"created_by": "1",
"created_by_name": "Administrator",
"created_by_link": {
    "full_name": "Administrator",
    "id": "1",
    "_acl": {
        "fields": [],
        "delete": "no",
        "_hash": "8e11bf9be8f04daddee9d08d44ea891e"
    }
},

上述响应中的“_hash”是相关acl记录的哈希值,表示用户对相关记录的访问控制限制。

我们可以通过进一步了解我的回答来证明这一点。您会注意到散列更改,但与具有相同条件的每个对象一致:

"member_of": {
    "name": "",
    "id": "",
    "_acl": {
        "fields": [],
        "_hash": "654d337e0e912edaa00dbb0fb3dc3c17"
    }
},
"campaign_id": "",
"campaign_name": "",
"campaign_accounts": {
    "name": "",
    "id": "",
    "_acl": {
        "fields": [],
        "_hash": "654d337e0e912edaa00dbb0fb3dc3c17"
    }
},

我们可以从中收集的是_hash是_acl对象的哈希值。您可以通过查看include / MetaDataManager / MetaDataManager.php,第1035行确认这一点。

因此,它不是用户记录的哈希值,而是记录的ACL设置的哈希值。

是否有唯一的user_id?

严格来说,不,每条记录都没有唯一的用户ID(除非一个用户只创建/编辑过一条记录)。

如果你回头看我的第一个JSON块,你会看到有两个用户关系:

  

modified_user_id

  

CREATED_BY

这些表明用户记录的唯一ID,我们可以保证它是唯一的(就GUID而言)。

我如何获得它?

技术上已经在请求中,但如果您只想检索由用户ID创建并由用户ID修改,则可以使用以下命令进行调用:

https://{INSTANCE}/rest/v10/{MODULE}?fields=created_by,modified_user_id