Bạn đang sử dụng Workbench để truy vấn dữ liệu Salesforce và muốn lấy thông tin của người dùng hiện tại? Bài viết này sẽ cung cấp các phương pháp hiệu quả để thực hiện việc này, giúp bạn xây dựng các truy vấn linh hoạt và tự động hóa quy trình làm việc.
Khi làm việc với Workbench, một yêu cầu phổ biến là truy vấn thông tin của người dùng đang đăng nhập. Trong Apex, bạn có thể dễ dàng sử dụng đối tượng `UserInfo` để lấy ID người dùng và thực hiện truy vấn.
Tuy nhiên, làm thế nào để thực hiện tương tự trong Workbench, đặc biệt là khi bạn muốn viết các truy vấn SOQL có thể hoạt động với bất kỳ người dùng nào mà không cần thay đổi truy vấn mỗi khi người dùng khác đăng nhập?
Một cách tiếp cận đơn giản là sử dụng thông tin session người dùng có sẵn trong Workbench. Sau khi đăng nhập, bạn có thể tìm thấy thông tin này ở góc trên bên phải của giao diện.
Bước 1: Xác định ID người dùng của bạn từ thông tin session.
Bước 2: Sử dụng ID này trong truy vấn SOQL của bạn. Ví dụ:
SELECT CurrencyIsoCode FROM User WHERE Id = '005t000000xxxxxxx'
Mặc dù giải pháp này hoạt động, nhưng nó đòi hỏi bạn phải thay đổi truy vấn mỗi khi người dùng khác sử dụng Workbench.
Để xây dựng các truy vấn hoạt động với bất kỳ người dùng nào, bạn cần một phương pháp linh hoạt hơn. Dưới đây là một số gợi ý:
Nếu bạn có thể tạo một Apex REST API, bạn có thể viết một phương thức trả về ID của người dùng hiện tại. Sau đó, bạn có thể gọi API này từ Workbench để lấy ID và sử dụng nó trong các truy vấn SOQL của bạn.
Tạo một Visualforce Page hoặc Lightning Component đơn giản để lấy ID người dùng và sau đó sử dụng nó để xây dựng truy vấn SOQL. Cách này phù hợp hơn cho mục đích thử nghiệm và gỡ lỗi.
Giả sử bạn muốn lấy tất cả các Accounts thuộc sở hữu của người dùng hiện tại. Bạn có thể sử dụng Apex để tạo một REST API trả về ID người dùng, sau đó sử dụng ID này trong truy vấn SOQL:
SELECT Id, Name FROM Account WHERE OwnerId = [ID người dùng lấy từ API]
Việc lấy thông tin người dùng hiện tại trong Workbench có thể đòi hỏi một chút sáng tạo, đặc biệt khi bạn muốn xây dựng các truy vấn linh hoạt. Bằng cách sử dụng thông tin session hoặc tạo các Apex REST API, bạn có thể giải quyết vấn đề này một cách hiệu quả và tự động hóa các tác vụ truy vấn dữ liệu của mình.
Hy vọng bài viết này hữu ích cho bạn. Chúc bạn thành công!
Bài viết liên quan