首页 > 解决方案 > 在 Python 中获取所有 Salesforce 数据线索

问题描述

我想获取一个线索对象的所有数据,我做了这个脚本来获取一个线索的数据,我只得到了 2000 的数量。

我需要做什么才能通过 pyhon 在 Salesforce 中获取对象的所有金额?

from simple_salesforce import Salesforce
from datetime import datetime
import csv
import os
import json
import account

SALESFORCE_USERNAME = '123'
PASSWORD = '123'
SECURITY_TOKEN = '123'

def main():
    # Authentication settings
    sf = Salesforce(username=SALESFORCE_USERNAME,
                    password=PASSWORD,
                    security_token=SECURITY_TOKEN)

    # Lead Column setting to be acquired
    columns = [
        "Id",
        "Email",
        "Company",
        "Address",
        "Phone",
        "FirstName",
        "LastName",
        "CreatedDate",
    ]
    sosl = 'SELECT {0[0]}, {0[1]}, {0[2]}, {0[3]}, {0[4]}, {0[5]}, {0[6]} , {0[7]} , {0[8]} FROM Lead '.format(
        columns)

    # Data acquisition with SOSL
    data = sf.query(sosl)

    # Delete CSV file if it exists
    output_csv = 'output.csv'
    if os.path.exists(output_csv):
        os.remove(output_csv)

    # Write to CSV file
    for k, v in data.items():
        if type(v) is list:
            with open(output_csv, 'w', newline="") as f:
                writer = csv.DictWriter(f, fieldnames=columns)
                writer.writeheader()
                for d in v:
                    data = json.loads(json.dumps(d))
                    del data['attributes']
                    d = datetime.strptime(
                        data['CreatedDate'], '%Y-%m-%dT%H:%M:%S.%f%z')
                    data['CreatedDate'] = d.strftime('%Y-%m-%d %H:%M:%S')
                    writer.writerow(data)


if __name__ == '__main__':
    main()

如果有人知道,请告诉我。

标签: pythonsalesforcesalesforce-lightning

解决方案


query_all()您可以通过或query_all_iter()方法获取所有响应记录,这些记录在文档中的“查询”下进行了simple_salesforce记录。

请注意,您正在运行的查询是 SOQL,而不是 SOSL。SOSL 用于全文搜索。


推荐阅读