In this blog, you will see how to get messages for a specific topic in Yammer using PowerShell.
Prerequisites
Go to https://www.yammer.com/client_applications and register an app.
Once the app is registered, generate a developer token.
Copy the below script and paste it in a notepad. Save the file as GetMessages.ps1.
- # Input Parameters
- $developerToken = "12240-*****PR2NWpZVtnbXYw"
- $topicID="32397927"
- $uri="https://www.yammer.com/api/v1/messages/about_topic/"+$topicID+".json"
- $headers = @{ Authorization=("Bearer " + $developerToken) }
-
- Function GetMessages($pageNo)
- {
- # Invoke Web Request
- $webRequest = Invoke-WebRequest –Uri $uri –Method Get -Headers $headers
-
- # Check whether the status code is 200
- if ($webRequest.StatusCode -eq 200) {
-
- # Converts a JSON-formatted string to a custom object or a hash table.
- $results = $webRequest.Content | ConvertFrom-Json
-
- # Loop through all the messages
- $results.messages | ForEach-Object {
- $message = $_
-
- #Display the message ID and Created date
- write-host -ForegroundColor Green "Message ID: " $message.id " Created_at: " $message.created_at
-
- }
-
- # Check if there are more items available
- if($results.more_available)
- {
- GetUsers($pageNo+1)
- }
- }
- else {
- Write-Host -ForegroundColor Yellow "An error has occurred: " + $webRequest.StatusCode + " Description " + $webRequest.Status
- }
- }
-
- # Call the function
- GetMessages(1)
Open PowerShell window and run the following command.
folderlocation – GetMessages.ps1 file location
Run the following command
Thus in this blog, you saw how to get messages for a specific topic in Yammer using PowerShell.