The team bot did not appear in a team meeting - microsoft-graph-api

We are using a Microsoft sample code to join the team meeting and start the recording. The problem which we are facing is When we hit the post method from the postman to join the call using this link in postman (https://testbotaimeet.ngrok.io/joinCall) and body as this:
{
"JoinURL": "https://teams.microsoft.com/l/meetup-join/19:meeting_Y2Y5ODc4ZDUtYmY2Yy00YmVmLTljYTEtYWE4NjcwYjU5ZDc1#thread.v2/0?context=%7B%22Tid%22:%22204d6395-ea6c-4e64-abea-e04cd30845e2%22,%22Oid%22:%225a95f69b-70e2-40d3-8b9a-5810ffcc6ec9%22%7D",
"DisplayName": "Bot"
}
We get the output like this:
{
"callId": "5e1f5a00-140c-47fe-9746-7910b6f39ff1",
"scenarioId": "38b81964-2ae1-476d-a79f-4abf9dd82a95",
"call": "testbotaimeet.ngrok.io/calls/5e1f5a00-140c-47fe-9746-7910b6f39ff1"
}
But the bot did not appear or show in the team meeting why? Please help us with this.
Reference: https://github.com/microsoftgraph/microsoft-graph-comms-samples/tree/master/Samples/V1.0Samples/AksSamples/teams-recording-bot

Sometimes it happened with me also, but later I realized that I was passing old meeting URL. Just make sure that you give correct input. When you pass a old meeting url (already used or even cancelled), it still gives you the response. So make sure that inputs are valid and as expected.

Related

Microsoft Graph API GET onlineMeeting via joinUrl

Current using Microsoft Graph API v1.0 to create onlineMeetings via POST /me/events. Reason being, if you create an onlineMeeting directly and add a user in the meeting, it doesn't create a calendar event.
The params I use for that call is:
:isOnlineMeeting => true,
:onlineMeetingProvider => "teamsForBusiness"
Which works great and returns a joinUrl under onlineMeetings.
However, I'd like to pull attendance data from the GET onlineMeeting route to get attendance information since the attendees section of the event only seems to return users that were added to the actual event, not who attended the actual onlineMeeting.
I have tried doing a get request like such:
/v1.0/me/onlineMeetings?$filter=joinWebUrl%20eq%20'https://whateverthejoinurlis'
but the response says it's not a valid filter.
Any guidance would be appreciated.
Posting the Answer for better knowledge
Copying from #Shiva Keshav Varma comments
Try it in beta version
/beta/me/onlineMeetings?$filter=joinWebUrl%20eq%20'https://whateverthejoinurlis
You can also get the attendeereport using beta/users/{userId}/onlineMeetings/{meetingId}/attendeeReport as specified in the document.

Office 365 - Filter on expanded messages

Thanks to How do I retrieve the event for an eventMessage we've sucessfully retrieve now the events in our inbox on o365.
Now our problem is that we want to show the user only events to which he hasn't responded. We've tried things like:
$expand=Microsoft.OutlookServices.EventMessage/Event($filter=ResponseStatus/Response%20eq%20'NotResponded')
But without success, we still get accepted events. If we try to put it outside in a filter
$filter=Microsoft.OutlookServices.EventMessage/Event/ResponseStatus/Response%20eq%20'NotResponded'
we get an error like "message": "The query filter contains one or more invalid nodes."
Is there an easy way to achieve that without a filtering inside the application?
It seems that ResponseStatus/Response is marked as not filterable, so this cannot be achieved in this fashion

Post update to Buffer API error - "Please select at least one account to post from"

I'm extending an app to include semi automatic posting to social media using the Buffer API. I'm having trouble posting the update to Buffer.
Using Postman to play around with the API, everything is authenticated successfully and I'm able to GET anything I need, however, I keep getting the error "Please select at least one account to post from" returned when trying to POST an update.
After adding the required params to postman, I have the following request URL, which fails:
https://api.bufferapp.com/1/updates/create.json?pretty=true&access_token=1/XXXXXXXXXXXXX&profile_ids[]=XXXXXXXXXXXX&text=This is an update
After reading this twitter thread, I have also tried the following with no luck:
https://api.bufferapp.com/1/updates/create.json?pretty=true&access_token=1/XXXXXXXXXXXXX&profile_ids%5B%5D=XXXXXXXXXXXX&text=This is an update
The full error / response is:
{
"success": false,
"message": "Please select at least one account to post from.",
"code": 1004
}
The related documentation is here.
What am I overlooking? I have a sneaking suspicion that it's something simple I'm not seeing.
Any help is much appreciated :)
Have you tried putting the POST data in the body of the request, rather than the URL? e.g:
HTTP/POST https://api.bufferapp.com/1/updates/create.json
Content-Type: application/x-www-form-urlencoded
pretty=true&access_token=1/XXXXXXXXXXXXX&profile_ids[]=XXXXXXXXXXXX&text=This is an update

Parse and Swift: How use advance targeting push to specific devices without users?

I currently creating an app where the users can add a posting without logging into the app or using any credentials.
Other users of the app can open the app and directly comment on the posts(the comments are an array of the post object).
I read the parse docs and I believe that this will use advance targeting. I saw PFInstallation.currentInstallation() for advanced targeting but I believe that is based on the users class and I am not using the Parse.com users class
What I would like to do is to send a push notification to the original poster when a comment is added to their post... So, I was wondering how I would go completing that?
Thanks!
It couldn't be easier,
Installation has a "user" column. Just make a query that matches the "user" of interest. So, your code will look something like this....
if ( .. comment made, need to send a push .. )
{
console.log(">>> 'comment' was added....");
var query = new Parse.Query(Parse.Installation);
query.equalTo('user', .. whoWroteThePost .. );
alert = "Wow! You have a new comment on a post you wrote!!!";
Parse.Push.send(
{
where:query,
data:{ alert: alert, badge: "Increment" }
});
return;
}
Note that you said ...
"What I would like to do is to send a push notification to the original poster when a comment is added to their post... "
In that sentence you speak of the "original poster". So, that's going to be a variable like originalPoster. So this line of code
query.equalTo('user', .. whoWroteThePost .. );
will be
query.equalTo('user', originalPoster );
Note that this is extremely common, and you can find endless examples on the web! Here's just one: example
Note that:
Parse's term "advanced targeting" is very confusing.
To phrase the same thought another way,
Parse's 'channels' are just silly, ignore them.
That is to say, simply ignore the "channels" nonsense, and just search on users. It's easier and less confusing than the channels business, which is just an extra field you have to fill-out al the time.
It's just one of those weird things about Parse.
I've never used the "non-advanced targeting" - it's stupid and pointless. And the "advanced" targeting is trivial to use: assuming you can write cloud code at all you can do "advanced" targeting. If you can write a query in cloud code, you can do "advanced" targeting.
Essentially,
query.equalTo('user', .. whoWroteThePost .. );
Note that, of course, you may have to first look up who wrote the post, and then from there you can make the query for the Push.
Note, in this process it makes:
no difference at all if the user is anonymous.
You can and should go ahead and send pushes, in the same way.
Advanced targeting is not done against users. It's just that is the easiest way to show an example.
You need to store the installation against the objects you want to push to. So in this case store the installation against the post. Then when the comment comes in you can send a notification to the installation connected to the post it relates to.
I think you are looking something called anonymous users. There is almost impossible to send notification without user's data. But, Parse.com provides something called anonymous users so that app users are not necessary to sign up in order to fully function something user related operations.
Then, you will need to store some information in order to find the target.
Parse.com Anonymous Users

What does the number refer to in link

I am looking at old posts to try and figure out what's wrong with the hackbook example at https://github.com/facebook/facebook-ios-sdk/tree/master/sample/Hackbook .
In this post, Post image to facebook using graph api , it seems that his problem was 117795728310/photos" instead of me/photos
What does 117795728310 refer to? I'm assuming it's not his app id. If it's his user id, where can I find out what mine is?
Thanks,
Mich
The paths of the open graph usually start with the id of the object and then it's connections.
For example: 6708787004/feed will return the feed for the South Park page.
The id can be replaced with a "username", so the above example is the same as "southpark/feed".
And "me/feed" is the same as "YOUR_USER_ID/feed"
You can get your id in all kind of ways, it will be easier to just check "/me" in the graph explorer.
The id you posted is not of a user but a page (graph explorer)
It does look like a User ID.
Go to http://www.facebook.com/note.php?note_id=91532827198 to see how you get yours

Resources