2014-04-11 2 views
1

나는 트위터와 링크드 인을 테스트 해 보았는데, 결국이 문제를 해결할 수있는 것 같았지만, 구글 커넥터가 작동하기에 충분한 자료를 찾을 수 없었다. Google 캘린더 커넥터를 사용할 때 - #[flowVars['tokenId']]과 함께 토큰을 수집하려하지만 값은 항상 null으로 표시됩니다. 내가 뭔가 잘못하고 있는거야? 누군가 도와 주실 수 있습니까? 감사합니다.Mule Studio에서 Google 커넥터를 사용할 수 없습니까?

재.

답변

1

은 다른 사람이 같은 문제로 어려움을 겪고 내 자신의 질문 답변 -

관리의 OAuth 토큰 (옵션)

구성 ObjectStore

당신이 어딘가에 저장해야 영구 데이터를 유지하려면, 그것은이다 이를 위해 ObjectStore를 사용하는 것이 좋습니다. ObjectStore 커넥터를 설치하십시오. 응용 프로그램에서이처럼 구성 :

<objectstore:config name="ObjectStore" doc:name="ObjectStore" /> 

승인 댄스가 완료되면 인증

을 토큰을 저장, 당신이 호출 할 서비스에 대한 accessTokenId는 OAuthAccessTokenId라는 흐름 변수로 사용할 수 있습니다. 이 ID는 커넥터의 차후 호출에서 사용할 수 있도록 유지해야합니다. 이 예제는 accessTokenId 키를 사용하여 ObjectStore에이 변수를 저장하는 방법을 보여줍니다.

<flow name="authorize-google" doc:name="authorize-google"> 
     <http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8081" path="authorize" doc:name="HTTP"/> 
     <google-contacts:authorize config-ref="Google_Contacts" doc:name="Authorize GContacts"/> 
     <objectstore:store config-ref="ObjectStore" key="accessTokenId" value-ref="#[flowVars['OAuthAccessTokenId']]" overwrite="true" doc:name="ObjectStore"/>  
</flow> 

ObjectStore에서 액세스 토큰을로드하고이를 참조해야합니다 커넥터의 모든 호출 토큰에 대한 액세스를 사용. 이 예제는 진행하기 전에 ObjectStore에서로드하여 설정되어 있는지 확인합니다.

<enricher target="#[flowVars['accessTokenId']]" doc:name="Message Enricher"> 
      <objectstore:retrieve config-ref="ObjectStore" key="accessTokenId" defaultValue-ref="#['']" doc:name="Get AccessToken"/> 
</enricher> 
<expression-filter expression="#[flowVars['accessTokenId'] != '']" doc:name="Is Access Token Set"/> 

accessTokenId이 흐름 변수로 사용할 수있게되면, 당신은 당신의 커넥터 작업에서 참조 할 수 있습니다 :

<google-contacts:get-contacts config-ref="Google_Contacts" accessTokenId="#[flowVars['accessTokenId']]" /> 

더 자세한 내용은 여기 -이 스튜디오에서 어떻게 보이는지 Heres는 http://www.mulesoft.org/documentation/display/34X/Using+a+Connector+to+Access+an+OAuth+API

- http://imgur.com/DtLodel

감사합니다.

재.