Можно ли использовать URL-адрес как в сообщении, так и в действии в Yammer?
Используя API сообщений, можно создать сообщение, которое:
- Properly linked (in this example clicking on Title goes to example.com/id/1/); and
- Включает изображение (placehold.it/100x100).
Например:
#!/bin/bash
GROUP={GROUP}
TOKEN={TOKEN}
curl -X POST \
-H "Authorization: Bearer $TOKEN" \
--data "body=hello" \
--data "group_id=$GROUP" \
--data "og_fetch=false" \
--data "og_url=http%3A%2F%2Fwww.example.com%2Fid%2F2%2F" \
--data "og_title=Title" \
--data "og_image=http%3A%2F%2Fplacehold.it%2F100x100" \
--data "og_description=Description" \
--data "og_object_type=page" \
--data "og_private=true" \
https://www.yammer.com/api/v1/messages.json
- Используя API активности, можно создать объект Open Graph:
Пример:
#!/bin/bash
TOKEN={TOKEN}
EMAIL={EMAIL}
curl -X POST \
-H "Content-type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer $TOKEN" \
-d '{"activity":{"actor":{"email":"'$EMAIL'"},"action":"create","object":{"url":"http://www.example.com/id/1/","image":"http://placehold.it/110x110","title":"Title","type":"page"}},"private":"false","message":"This is an update"}' \
https://www.yammer.com/api/v1/activity.json
Проблема в том, что теперь исходное сообщение из шага 1:
- Больше не ссылается на реальный контент (он ссылается на https://www.yammer.com/{network} /график/{идентификатор})
- Теряет изображение (теперь это mug0.assets-yammer.com/mugshot/images/75x75/3rd_party.png)
Кроме того, объект открытого графика не обновляется для нового изображения, представленного в сообщении об активности (110 x 110 против 100 x 100). Документы (https://developer.yammer.com/v1.0/docs/open-graph) говорят, что «если объект OG существует (с тем же URL-адресом), он соответствующим образом обновляется».