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.

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top