Не можете получить какие-либо разъемы Google для работы в Mule Studio?

StackOverflow https://stackoverflow.com//questions/23018735

Вопрос

Я проверил Twitter и LinkedIn, и мне кажутся в конечном итоге они работать, но я просто не могу найти достаточно материала, чтобы получить разъемы Google для работы.При использовании Calendar Calendar, я пытаюсь собрать токен с - #[flowVars['tokenId']], но значение всегда выходит как null.Я делаю что-то неправильно?Может кто-нибудь, пожалуйста, помогите?

Спасибо,

Ash.

Это было полезно?

Решение

ответил на мой собственный вопрос для кого-то еще, борющуюся с той же проблемой -

Управление токенами OAuth (необязательно)

Настройка ObjectStore

Чтобы сохранить данные о постоянном, вам нужно где-нибудь хранить его, рекомендуется использовать ObjectStore для этого. Установите разъем ObjectStore. Настройте это в качестве этого в вашем приложении:

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

Хранение токенов после авторизации

После того, как танец авторизации будет сделан, AccessTokeID для сервиса, который вы вызываете, доступен в виде переменной потока, называемой OAUTTACCESSTELEDIC. Вы должны сохранить этот идентификатор, чтобы вы могли использовать его в будущих вызове вашего разъема. В этом примере показано, как хранить эту переменную в ObjectStore под ключ AccessTokeDedID.

<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>
.

Использование вашего токена доступа

Любой вызов вашего разъема должен загрузить токен доступа из ObjectSore и ссылаться на него. Этот пример показывает загрузку его из 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"/>
.

После AccessTokeID доступен в качестве переменной потока, вы можете ссылаться на его операции разъема:

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

Подробнее здесь - http://imgur.com/dtlodel

Спасибо,

Ash.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top