I subscribed to Outlook Push Notification Services, precisely I want to receive push notifications for sentitems.
Consequently, I use https://outlook.office.com/api/v2.0/me/MailFolders/sentitems/messages as Resource in my #Microsoft.OutlookServices.PushSubscription POST request to the url https://outlook.office.com/api/v2.0/me/subscription
As expected, I receive the push notification when I send an email. The problem lies in the fact that the ResourceData is always the same. The Id never changes and correspond to the one I received after the first Notification.
I also remarked that even when no mail is sent I keep receiving notification with "ChangeType":"Created" (and always the same ResourceData.Id).
This may be a bug, or should I send back something to the subscriptions after receiving a notification?
This is because the webhook responded to the push notification request with status code 500. Hence Outlook Push Notification Services treated this request as failed and then retried it later for several times. As the notifications of the same subscription are processed in sequence, later notification won't be sent until the earlier notification was successfully sent out. That's why you saw multiple notifications with the same resource data and change type even when no change happened.
Related
When sending notifications in DeepstreamIO, if a user is offline and later reconnects, he will not see the notification. In addition to that records is empty. Can you please suggest any solution?
I try to send notifications to many users, I found that if I send for example 3 notifs the user received the last one, but if he is offline and the reconnect, he can't notify.
I have a functioning webhook application which recently went into production. Unfortunately, I assumed that when DocuSign notified me of an envelope with "Completed" status, then there would be no further notifications for this envelope. I am sometimes receiving multiple notifications with the same status of Completed.
I'd like to review the documentation (if it exists) surrounding the details of when each type of notification goes out from DocuSign Connect.
I am using Gmail push notifications for email processing. When I receive a message notification from Google, I use the history list API with the previously stored historyId and can see new messages using messagesAdded. Once I have retrieved the messages, I store the last historyId for the next request.
When testing, if I send two mail messages (about 30 seconds apart) to the watched mailbox, I see two messages notifications from Google and when I call the history API for each of the notifications I see the message ids. This is all good.
If I repeat the same test but send the two mail messages immediately after each other, I get the two notifications from Google but when I call the history API for the first message, I get the two message ids in that history API call. When I call the history API call for the second notification, I get a duplicate of the last message id.
How can I prevent seeing duplicate message ids in this scenario? Any help or pointers would be much appreciated.
Updated: Added request and response example for second test.
I noticed in the response from the Google History API a historyId showing the latest messages that have been processed. If I store this value as the next start point instead of the historyId sent in the notification message, it works around the duplicate issue as on the second request there are no more messages. Not sure if this is the right way to do this as it means I don't store or use the historyId sent in the notification message.
Whenever my app posts ephemeral message to Slack channel (in response to a query by a user), I am unable to get the timestamp of my Slack app response. As I want to delete it once the user has made a selection using one of the buttons. Although I have subscribed to 'message.channels' event, I don't get a notification to my app whenever my app posts in the channel (in response to the user input), therefore, I am unable to get the timestamp of the message which I'll use to delete it. All I want is the timestamp of the message posted by my app so that I can delete it but I am unable to receive the timestamp. Please help!
For e.g. in Giphy app for Slack. Let's say the user invokes the app by calling '/giphy [dog]' where 'dog' is just an example of a search term. The app responds by sending a gif and user can either send it, shuffle to the next one or cancel it. I want a similar capability of cancelling the app response but I need the timestamp of the message in order to do so therefore I am asking for help.
Thanks.
Your approach can not work, because Slack is handling ephemeral messages differently from "normal" messages. They are only visible by one user and can not be modified by API methods (e.g. deletion).
But of course its possible to replace ephemeral messages. Here is how:
Your app can just reply to the interactive message request from Slack with a new message. That new message will by default override the original message including ephemeral messages.
You can reply in two ways:
Directly reply to the request from Slack with a message within 3 seconds
Send a message to the response_url from the Slack request within 30 minutes.
See here for the official documentation on how to respond to interactive messages.
This approach works both with interactive messages and slash commands.
See also this answer for a similar situation.
When using Google Calendar API push notification, suppose, sender A sends a meeting invite to B and C. When B accepts the meeting invite, C also receives a push notification.
This can be problematic in cases where a meeting invite is sent to a lerge number of recipients, say 200 people. In this case each of the 200 recipients of the invite will also see 200 push notifications only due to other recipients accepting or declining the event.
Is there a way to get push notifications only in case an event's start or end time is changed or event is deleted but not receive push notifications when recipients accept/decline an event?
With Office365 API, I do not see push notifications being sent in this scenario.
The Google Calendar API provides push notifications that let you watch for changes to resources.
A resource is changed if anything if it is updated or deleted and in this case if a user accepts or declines.
Answer: No you cant pick You get all the changes you do not get to pick which changes you want. You get notified of all changes on a resource. I suggest that you filter out the changes that you dont want locally.