2017-10-24 1 views
0

maven 종속성에서 제공하는 REST API를 사용하여 salesforce를 호출합니다.com.force.api access_token을 전달하지 않고 데이터를 가져 오는 이유는 무엇입니까?

아래 코드를 구현했지만 access_token을 보내지 않고 궁금해합니다. 결과를 어떻게 얻을 수 있습니까? 그게 안전하지 않거나 그것의 구현 방법은 무엇입니까? 이 API를 계속 사용 하시겠습니까?

ACCESS_TOKEN : 00D7F0000001I8v!ARgAQB8tHuuquPRL5Z4uj4TBJG0cg0dJYBxy00jPhioEWKI86RlHqgXKSM0DfSTWHYVLl5i9HbbPxjXlgxlUP7XmLKejKrP4 
RESULT : 535 

답변

0

실제로 Salesforce 내부적 요청이 클라이언트 authentication token을 제공한다 : 여기

public class ForceApiExample { 
    public static void main(String[] args) { 
     ForceApi api = new ForceApi(new ApiConfig() 
       .setUsername("[email protected]") 
       .setPassword("XXX") 
       .setClientId("XXXXXMB8EGsF3NRtJ0") 
       .setClientSecret("XXX")); 

     ApiSession session = api.getSession(); 
     String accessToken = session.getAccessToken(); 
     System.out.println("ACCESS_TOKEN : "+accessToken); 


     List<Map> result = api.query("SELECT name FROM Account").getRecords(); 
     System.out.println("RESULT : "+result.size()); 
    } 
} 

의 결과이다. REST API Salesforce의 경우 인증에 OAuth 2.0을 사용합니다. 다른 종류의 OAuth 인증 프로세스가 있습니다. 그 중 하나는 사용자 자격 증명을 통한 것입니다. 사용자 자격 증명을 사용하여 요청을 전송할 때는 실제로 Salesforce에게 액세스 토큰을 제공하도록 요청합니다. 요청을 받으면 Salesforce은 자격 증명을 확인하고 액세스 토큰을 다시 보냅니다. 하지만 여기에서는 사용자가 앱을 직접 승인하지 않으므로 새로 고침 토큰을 사용할 수 없습니다.

자세한 내용은 Understanding Authentication 링크를 따르십시오.

+0

hhmm. 답을 뒷받침 할 코드 스 니펫을 공유해주십시오. 그럼 나는이 ans을 받아 들일 것이다. – Prateek

관련 문제