How can I search in a specific group with the Yammer API? - yammer

There is a Yammer Search API, but it only returns results from all group in a Yammer network. Is there a way to search only a specific group?

You need to specify an additional undocumented parameter search_group=GROUP_ID. This isn't documented and therefore isn't officially supported, so your mileage may vary.

Related

Exclude bot users from slack search api results

In the slack UI, when I make a search, it makes a request to the search.modules endpoint. There's also the option to exclude apps and bots from the result, which translates to a boolean POST param to that api endpoint.
https://api.slack.com/methods doesn't list such a method, and only has search.messages, search.files, and search.all.
How can I use the API to search, but exclude bot accounts? Do I need to leverage this seemingly hidden search.modules (which probably is inaccessible with a bot acct)? Is there a better way than making a list of bots and manually filtering them out of search results?
Well it's not in the documentation anywhere, but I can achieve this with the search.messages api by adding search_exclude_bots=True to my POST data.
Since this is undocumented, I'm curious as to whether users should be using this param and if it will be changed in a breaking way in the future.

Yammer API: return topics of a particular group

I am using embedded Yammer feed to get the feeds from a particular group.
Using embedded Yammer I want to retrieve all topics of that particular group.
The API (embedded or REST) doesn't surface which topics are frequently used in a particular group. The closest thing in the API is Search, which allows you to search a group for topic names.

Yammer does not return every message in group

Using the following endpoint with the group id and the older_than paging parameter
https://www.yammer.com/api/v1/messages/in_group/[group_id].json?older_than=[msgid(19)]
This does not return every message in that group... it skips messages!
This is a paid network that I am testing, the API is pretty much useless if it does not provide all the messages. Can anyone confirm this limitation!
Using the 'older_than' parameter to try to get all messages isn't going to work:
Reference https://stackoverflow.com/a/19107426/4099849
If you attempt to iterate over messages you will hit some limits. These limits are technical in nature and you would need to revert to the search API to find much older messages. Unfortunately you will have to put up with these limitations if you are dealing with the free version of Yammer as the data export is only available with the paid version.
Assuming you're trying to do some sort of analytics, have a look at the Yammer Data Export API.
There is a similar question : Yammer API - missing messages
The ansnwer is the same and his not acceptable !
When using /api/v1/messages/about_topic/ I get messages not returned by
/api/v1/messages.json
or
/api/v1/messages/in_group
My script respect the API Rate limits and the missing messages are not older than others.
There is something wrong in the API and it must be fixed.
My company is paying for Yammer and expect a reliable API.
If you want all messages inside a group,use below mentioned REST API without all parameters.Then it will list all messages present inside that particular group.
https://www.yammer.com/api/v1/messages/in_group/[group_id].json

List users that have posted to a Yammer group

Is it possible (via the Yammer REST API or otherwise) to programmatically retrieve a list of all unique users who have posted to a specific Yammer group?
The network in question is a free Yammer network, therefore the data export approach is not available.
There's currently no way to directly get a list of contributors to a group. What you could do is use the messages api to crawl through all of the messages in a group and get the users who sent them. If it's a group with a reasonable number of messages, this shouldn't be that big of a problem. Just don't forget about the rate limits on making api calls.
The message endpoint for a group looks like this.
https://api.yammer.com/api/v1/messages/in_group/{{group_id}}.json?threaded=extended

Is there any way to programmatically set Google group member settings?

As the topic says, is there any way to programmatically change Google's group member settings. Say for example the setting as to have emails sent to a group distributed to a particular member (one can be in a group without receiving mails sent to the group). There is a multitude of group member settings like this, but I haven't found a way to do it by API.
The first ideas would be the Admin Directory API or Groups Settings API, but neither supports any operations like these (the latter only has operations that affect the group as a whole).
Within the Admin SDK, there's the Groups Settings API as you mentioned. Everything this API can do from an admin level is found here.
As far as I know, if it's not a setting available in this API, it won't be possible via API.

Resources