Я пытаюсь отправить сообщение в другую сеть в Yammer, используя REST api. К основной компании, в которую я вхожу, я успешно прочитал и отправил сообщение в определенную группу, однако я могу читать из группы в другой сети, но не публиковать. Обратите внимание, что когда я читаю сообщение из другой сети, я просто добавляю название компании в опубликованный URL например.Опубликовать сообщение в определенной сети в Yammer с помощью Javascript API Yammer API
function GetMessages()
{
yam.request.setAuthenticator('oauth2');
yam.request.getAuthenticator({ auth: 'oauth2' }).setAuthToken('xxxxxxxxxxxxxxx');
var access_token = "";
yam.request(
{
url: "https://api.yammer.com/childCompanyName/api/v1/messages/in_group/4787320.json", method: "GET",
success: function (results)
{
alert("The request was successful.");
return results;
}
}
Это прекрасно работает для чтения сообщений, однако при попытке отправить сообщение, используя подобную идеологию, используя имя компании в публикуемой URL не работает. Я прочитал в подобном сообщении, что вам необходимо получить токен-носитель дочерних компаний и передать его в опубликованном заголовке. Вот код, который я отправил использовать ....
function PostMessage()
{
yam.request.setAuthenticator('oauth2');
yam.request.getAuthenticator({ auth: 'oauth2' }).setAuthToken('xxxxxxxxxxxxxx');
var access_token = "";
yam.request(
{
url: "https://www.yammer.com/api/v1/oauth/tokens.json",
method: "GET",
success: function(msg)
{
var access_token = "";
for (var i=0; i < msg.length; i++)
{
//GRAB THE TOKEN FOR THE DESIRED NETWORK
if (msg[i].network_permalink == "myChildCompany")
{
access_token = msg[i].token; //this works
break;
}
}
yam.request({
url: "https://www.yammer.com/myChildCompany/api/v1/messages.json",
method: "POST",
beforeSend: function (req)
{
req.setRequestHeader("Authorization", "Bearer " + access_token);
},
data: { "body" : "123", "group_id":"4762174"} // Pass ur Group ID here
});
}
Я попытался это с и без «myChildCompany» в URL, однако ничего не похоже на работу. Я проверяю ответ, и он возвращает ошибку: 401 Несанкционирован. У меня нет проблем с отправкой в головную компанию.
У кого-нибудь был опыт с этим и, возможно, может указывать на меня в правильном направлении? Любая помощь приветствуется.
К сожалению просто еще одна вещь, которую я думал, что я мог бы добавить так же, как и в сторону ... все URL ссылки должны быть https://api.yammer.com/api/v1/ вместо www.yammer.com/api/v1/в противном случае вы получите ошибку «no-same-origin» в Chrome. Я обновил свой ответ. –
Не могли бы вы подтвердить, что узел yam.request больше не присутствует в текущей реализации API? – joweiser