2011-10-19 4 views
2

자바 스크립트 앱을 홈페이지 구성 요소에서 실행하고 있습니다. 웹 서비스를 호출하고 Salesforce API를 호출합니다. 다시 로그인하는 것을 저장하기 위해 API_Session_ID 변수를 사용하고 싶습니다. 내 홈 페이지 구성 요소에서 실행중인 javascript에 이것을 어떻게 표시합니까? 이상적으로 apex를 사용하여 작은 페이지의 스크립트를 렌더링하고 모든 페이지에 API_Session_ID 변수로 javascript 변수를 초기화하고 싶습니다. 그러나이 방법은 알 수 없습니다.salesforce - API_Session_ID를 자바 스크립트에서 사용하는 방법

주 - 응용 프로그램이 홈 페이지 구성 요소에서 실행 중일 때 VF를 사용할 수 없습니다. iframe에서 할 수없는 기본 페이지의 javascript 개체에 액세스해야하므로 정상적인 솔루션 (iframe에서 VF로 실행)을 사용할 수 없습니다.

답변

3

확인합니다. 세션 쿠키에는 'sid'값이 있으며, 약간의 조정이 필요합니다. 어떻게 알았을 때 쉽게! 다음 링크는 다음과 같습니다

http://forums.sforce.com/t5/forums/forumtopicprintpage/board-id/general_development/message-id/7209/print-single-message/false/page/1

그것은 날짜가 조금 있습니다. 쿠키 sid 값과 window.location.host를 PHP 웹 서비스에 전달합니다. 이 값을 작동시키는 PHP는 다음과 같습니다.

$sidparts = explode("!", $feed->sid['value']); 
$location = "https://".parse_url($feed->server['value'], 
    PHP_URL_HOST)."/services/Soap/u/20.0/".$sidparts[0]; 
$sessionId = "{$feed->sid['value']}"; 
1

나는 몇 번이나 똑같은 일을 시도했다. 불행히도 VisualForce 없이는 성공하지 못했습니다.

며칠 전에 주제에 대한 토론 스레드를 찾았습니다. http://boards.developerforce.com/t5/AJAX-Toolkit-S-Controls/Detect-current-user-with-AJAX-toolkit/m-p/277241#M8485

또한, 당신이 알고있는 것처럼 들리 겠지만없이 VisualForce를 사용하여 세션 ID 얻을 :이 알아 낸 있도록

<script type="text/javascript"> 
    var __sfdcSessionId = '{!GETSESSIONID()}'; 
</script> 
+0

안녕 매튜 - 답변 감사합니다. 내가 실제로 알아 냈어 그리고 이것은 당신에게 유용 할 수 있습니다 : http://forums.sforce.com/tum/forumtopicprintpage/board-id/general_development/message-id/7209/print-single-message/false/ 페이지/1 - 나는 SA가 저를 허용하자마자 내 질문에 더 완전하게 대답 할 것입니다 ... – FatalFlaw

+0

니스 찾기! 쿠키를 가져 오는 것은 창의적인 솔루션입니다. –

+0

VisualForce 페이지에서 사용하는 force.com 도메인의 sid 쿠키에있는 세션 ID가 API와 함께 사용하기에 적합하지 않으므로 {! GETSESSIONID()}를 사용해야합니다. 내가 사용자 스크립트 내에서 아약스 라이브러리와 함께 사용하려고 : http://bit.ly/POfbrW –

관련 문제