Getting a Conversation List with the API


#1

I am developing an app which scans all of the rooms in our site and determines which have been inactive for more than a modifiable amount of time (let’s say 1 week for example purposes.) Then, it emails the creator of the conversation and tells them that the room will be archived in a modifiable amount of time (let’s say 12 hours for example purposes).

I am trying to get data on all of the conversations using this call but I can only get the data of the conversation from which I trigger the chat bot with the command. How can I get details on every conversation on the site?

I have very limited experience with HTTP requests, express, etc. so please explain like I’m completely new.


#2

Hi @michael.hypnarowski,

Currently, we only have 2LO OAuth authentication which limit’s apps to interacting with only the conversations they are directly installed in. We are currently working on 3LO OAuth authentication which will allow apps to work with the permissions of the user that installs the application in the Stride site, including being able to see all conversations in a site.

When that becomes available we will announce it via this thread “Stride API change log / known issues”. When that is released there will be documentation to go along with it describing 3LO vs 2LO and how to get a 3LO token.

Let me know if you have any further questions.

Regards,

Jon Ross


#3

Question 1:
I see, so the app will have to be installed in each room. Is there a way this can be done by an administrator such that it is automatically in all rooms?

Question 2:
Since using a bot to trigger the scan of a room is obviously silly and defeats the purpose, how can I set up a periodic call of the function that will give me the details of a room? Again, I am pretty new to using JavaScript with an actual server involved. To clarify, I mean that I want to scan a room to get the time of the last message every 12 hours and then store the data of that scan in an variable (say, “lastMessage”) which is overwritten by each new scan. Then I can just use a simple function that looks at the present timestamp of the scan and the timestamp of "lastMessage" and if the difference is greater than a certain amount, proceed from there.


#4

In response to Question 1:
3LO apps will be installed for the whole site, and would automatically have access to all conversations. Until then, the functionality isn’t available yet.

In response to Question 2:
This seems like a complicated question to answer. There are a lot of ways to schedule Jobs or programs that are external to NodeJS.

At the OS level:

  • Windows has Task Scheduler (How To)
  • Linux and Mac have Crontab (How To)

At the platform level:

In NodeJs

There are more options, but I hope that can get you started