Não é possível obter o Google conectores para trabalhar em Mula Studio?
-
21-12-2019 - |
Pergunta
Eu testei o Twitter e o LinkedIn, e me parece ser capaz de obter essas trabalhar eventualmente, mas eu simplesmente não consigo encontrar material suficiente para obter o Google conectores para trabalhar.Ao usar o Google Calendar connector eu estou tentando coletar o token - #[flowVars['tokenId']]
mas o valor sempre sai como null
.Estou fazendo algo errado?Alguém por favor pode ajudar?
Obrigado,
Ash.
Solução
Respondeu a minha pergunta para alguém lutando com o mesmo problema -
Gestão de OAuth Tokens (opcional)
Configurar ObjectStore
Para manter os dados persistentes você precisa armazená-lo em algum lugar, é recomendável que você usar o ObjectStore para isso.Instalar um ObjectStore conector.Configure-o como em sua aplicação:
<objectstore:config name="ObjectStore" doc:name="ObjectStore" />
O Armazenamento De Tokens Após A Autorização
Após a autorização de dança é feito, o accessTokenId para o serviço que você está invocando está disponível como uma variável de fluxo chamado OAuthAccessTokenId.Você deve manter esta IDENTIFICAÇÃO, de modo que você pode usá-lo em futuras convocações do seu conector.Este exemplo mostra como armazenar essa variável em ObjectStore sob a chave accessTokenId.
<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>
Usando O Token De Acesso
Qualquer invocação de seu conector deve carregar o token de acesso do ObjectStore e fazer referência a ele.Este exemplo mostra o carregamento do ObjectStore e verificar se ele foi definido, antes de prosseguir.
<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"/>
Uma vez accessTokenId está disponível como uma variável de fluxo, você pode fazer referência a ele em seu conector de operações:
<google-contacts:get-contacts config-ref="Google_Contacts" accessTokenId="#[flowVars['accessTokenId']]" />
Mais detalhes aqui - http://www.mulesoft.org/documentation/display/34X/Using+a+Connector+to+Access+an+OAuth+API
Heres como olhar no estúdio - http://imgur.com/DtLodel
Obrigado,
Ash.