2015-03-26 2 views
1

Я являюсь частью двух сетей Yammer N1 и N2. N1 - моя домашняя сеть.Yammer: больше не может обращаться к сообщениям из другой сети, используя Yammer API

С нескольких дней/недель я больше не могу получать доступ к сообщениям из сети N2 с помощью Yammer API.

Вот как я получаю сообщение от N1 (который является успешным):

  • Получить код Идента, перейдя по ссылке https://www.yammer.com/dialog/oauth?client_id=[clientid]&redirect_uri=[redirecturi]
    • результатов [authcode_N1] (после того, как Вход для реселлеров в, в URL)
  • выполнять GET https://www.yammer.com/oauth2/access_token.json?client_id=[clientid]w&client_secret=[secret]&code=[authcode_N1]
    • результаты в формате JSON с [access_token1] (примечание: есть только один маркер в ответ)
  • получить сообщения, выполняя GET https://www.yammer.com/api/v1/messages.json, с заголовком HTTP Authorization: Bearer [access_token1]
    • результат: сообщения от N1 только

Вот как я пытаюсь получить сообщения от N2 (которая выйдет из строя):

  • получить код авторизации, просмотрев https://www.yammer.com/N2/dialog/oauth?client_id=[clientid]&redirect_uri=[redirecturi].
    • примечания 'N2' в URL
    • результатов [authcode_N2] (которым отличается, то он, полученным ранее для N1)
  • выполнить GET https://www.yammer.com/oauth2/access_token.json?client_id=[clientid]w&client_secret=[secret]&code=[authcode_N2]
    • результатов в состоянии 403, тело 'Your network is not allowed to request an OAuth token for this Application'

Вот еще одна попытка получить сообщения из N2 (которая не слишком):

  • получите жетоны, выполняя GET на https://www.yammer.com/api/v1/oauth/tokens.json, с заголовком HTTP «Authorization: Bearer [access_token1]
    • результаты в формате JSON с двумя элементами , и с другим идентификатором сети (один для N1 и один для N2) и маркером для каждой сети
    • Обратите внимание, что маркер для N1 в этом формате JSON соответствует [access_token1] выше
    • назовут маркер для N2 в этом JSON [access_token2]
  • выполнять GET https://www.yammer.com/api/v1/messages.json, с заголовком HTTP Authorization: Bearer [access_token2]
    • ответ: {"response":{"stat":"fail","code":17,"message":"Attempt to access a protected resource failed."}}

Обратите внимание, что [ClientID], [секрет] и [redirecturi] из нашего приложения. На странице настроек (под названием «Зарегистрированные приложения») есть зеленый галочка в столбце «enabled», а в столбце «global» нет. В разделе «Основная информация» для этого приложения есть зеленая кнопка «Развернуть». Возможно, это вызывает проблему (я нашел ответы пользователей в этом направлении о подобных проблемах (см. Yammer REST API: How to get access tokens for external networks?))? Но это не объясняет, почему получение сообщений от N2 используется ранее ...

Пожалуйста, дайте мне знать, как я могу получить данные из N2.

Заранее благодарен!

ответ

0

Используйте GET https://www.yammer.com/api/v1/oauth/tokens.json?access_token= с вашим токеном N1, чтобы создать токен для всех ваших сетей. Прочитайте токен N2 из ответа и вызовите API yammer с этим токеном.

Вы можете увидеть, как это работает на «знаменитого» zapier «Апи Quirks» https://zapier.com/blog/api-quirks-yammer-external-networks/

Смежные вопросы