2012-02-10 41 views
5

Có ai biết cách truy xuất yêu cầu hàng ngày SFDC giới hạn api thông qua SOAP hoặc REST không? Tôi không thấy bất kỳ cuộc gọi nào cho việc này. Hiện tại tôi phải truy cập thông tin này tại trang Thông tin công ty. Tôi muốn lấy thông tin này ở cấp mã để xử lý hàng loạt.Truy xuất giới hạn yêu cầu Api Salesforce hàng ngày

Cảm ơn!

Trả lời

3

Chúng tôi đang sử dụng mã tùy chỉnh để workaround này:

WebService static string GetAPIUsage() { 
    PageReference pr = new PageReference('/00D20000000HsCQ');//use id of setup page 
    pr.setRedirect(false); 
    String result = pr.getContent().toString(); 
    Integer start_index = result.indexOf('API Requests, Last 24 Hours', 1) + 52; 
    Integer end_index = result.indexOf('<', start_index); 
    result = result.substring(start_index, end_index); 
    result = result.replaceAll('&nbsp;', ' '); 
    return result;  
} 

Hy vọng rằng sẽ giúp.

Kính trọng, Łukasz

+0

cảm ơn đề xuất của bạn Lukasz! Tôi sẽ chơi với cái này. Trân trọng, –

4

Thông tin này không được hiển thị trong API.

Kể từ Salesforce Spring '15 và REST API phiên bản 29.0, tài nguyên/giới hạn có thể được sử dụng để truy xuất thông tin này. https://developer.salesforce.com/releases/release/Spring15/restapi

Ngoài ra, tiêu đề Sforce-Limit-Info được trả về với mọi phản hồi REST.

https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/headers_api_usage.htm

+2

Có hoàn toàn không khả thi để đếm số lượng yêu cầu mà bạn đã thực hiện trong một cho khoảng thời gian 24 tiếng đồng hồ về phía khách hàng? Không đặc biệt thanh lịch nhưng có vẻ như đó là lựa chọn duy nhất của bạn. –

+0

Hiện tại, chúng tôi phải theo dõi giới hạn api này bằng hệ thống cảnh báo SFDC (ví dụ: api đến giới hạn 80%). Tôi muốn SFDC thực hiện cuộc gọi như vậy trong api hoặc nếu bất kỳ ai biết về bất kỳ cách giải quyết nào cũng sẽ rất hay khi truy xuất thông tin này từ mã. Cảm ơn. –

1

tôi đã sử dụng REST API. Chọn phương thức HTTP GET để thực hiện trên URI dịch vụ REST API: "/services/data/v31.0/limits". Nó cho phép tôi để có được dữ liệu DailyApiRequests.

Nó trả về:

{ "ConcurrentAsyncGetReportInstances" : { "Remaining" : 200, "Max" : 200 }, "ConcurrentSyncReportRuns" : { "Remaining" : 20, "Max" : 20 }, "DailyApiRequests" : { "Remaining" : 14995, "Max" : 15000 }, "DailyAsyncApexExecutions" : { "Remaining" : 250000, "Max" : 250000 }, "DailyBulkApiRequests" : { "Remaining" : 5000, "Max" : 5000 }, "DailyStreamingApiEvents" : { "Remaining" : 10000, "Max" : 10000 }, "DailyWorkflowEmails" : { "Remaining" : 390, "Max" : 390 }, "DataStorageMB" : { "Remaining" : 5, "Max" : 5 }, "FileStorageMB" : { "Remaining" : 20, "Max" : 20 }, "HourlyAsyncReportRuns" : { "Remaining" : 1200, "Max" : 1200 }, "HourlyDashboardRefreshes" : { "Remaining" : 200, "Max" : 200 }, "HourlyDashboardResults" : { "Remaining" : 5000, "Max" : 5000 }, "HourlyDashboardStatuses" : { "Remaining" : 999999999, "Max" : 999999999 }, "HourlySyncReportRuns" : { "Remaining" : 500, "Max" : 500 }, "HourlyTimeBasedWorkflow" : { "Remaining" : 50, "Max" : 50 }, "MassEmail" : { "Remaining" : 10, "Max" : 10 }, "SingleEmail" : { "Remaining" : 15, "Max" : 15 }, "StreamingApiConcurrentClients" : { "Remaining" : 20, "Max" : 20 } }

Các vấn đề liên quan