Microsoft Teams Deep Linking failing for Video and Audio calls - microsoft-teams

I'm writing a react webapp that exposes AD-Online contacts and provides the ability to deep link chat, audio, and video calls in the Teams application. I have written the following function (based on the MS documentation) to provide the url for the deep link.
const teamsDeepLink = (user, type) =>
`https://teams.microsoft.com/l/${type === "chat" ? "chat" : "call"}/0/0?users=${user}${type === "video" ? "&withvideo=true" : ""}`;
The output of this looks something like this:
Chat
https://teams.microsoft.com/l/chat/0/0?users=<user's email>
Audio
https://teams.microsoft.com/l/call/0/0?users=<user's email>
Video
https://teams.microsoft.com/l/call/0/0?users=<user's email>&withvideo=true
This works ok for chat, but fails with a There is a problem with the link message for audio and video links. Has anyone got this working and how?
I have researched this as thoroughly as I can. I have found a related but different SO question relating to bots, but I'm a step further on from that -- I have the URL from the documentation but I'm getting an unexpected error.

When we tried to repro this at our end, it worked fine on Microsoft Teams desktop but faced an issue on the Teams web application (as you mentioned).
For that, we have raised a bug and the concerned team is looking into it. We will get back to you once we have an update.

Related

Teams Deeplink - hyperlink in message

I am trying to send messages to Teams (chat with user) via deeplink. I succeeded at first, like a year ago. Without a change in my code, it suddenly stopped working. The link gets pasted as simple text without highlighting and it’s annoying.
I tried
[link name](link) and link name syntax (encoded or raw), but nothing helps.
Is there a way to paste hyperlinks to Teams via deeplink, that will be active?
I use return $"{openIn}l/chat/0/0?users={emails}&message={System.Web.HttpUtility.UrlEncode("test [test](https://adaptivecards.io) test")}"; for preparing link.
so result url looks like this
http://teams.microsoft.com/l/chat/0/0?users=aaa#bbb.com&message=test+%5btest%5d(https%3a%2f%2fadaptivecards.io)++test
Teams in compose box just shows link that is not clickable/transformed.
Teams compose box
Deeplink:-
https://teams.microsoft.com/l/chat/0/0?users=ABC#xyz.com&topicName=TestChat&message=Hello
Microsoft Teams Version 1.5.00.8170 (64-bit).
please change the user ID as per your tenant.
Ref.Doc:-https://learn.microsoft.com/en-us/microsoftteams/platform/concepts/build-and-test/deep-links#deep-linking-to-a-chat

Google Assistant (Google Home): dynamic response based on web query

I use an Google Assistant (Google Home) and would have an answer, which my Website gives.
For Example:
- I say: Hey Google, buy 3 Eggs
- my Website is beeing called (Webhook/wget/etc.):
http://url.de/befehl.php?befehl=buy 3 Eggs
or without keyword
http://url.de/befehl.php?befehl=3 Eggs
my Website gives following text/content: ok that was successful
Google simply says this text, which he got from Website: ok that was successful
IFTTT can only send a command to Website (Webhook) and lets google speak a fixed answer, but not dynamic answer.
Is it possible to realize that (IFTTT, Olisto, etc.) ?
It would be possible to run a Script, which itself gets the content/text of an Website and says what the Website gives (IFTTT-Webhook could do this, but says always the same text (not dynamic)).
Any Ideas, Tipps, Tricks?
Greetings,
Niko
It is definitely possible. You don't really need IFTTT.
I'll give you an example with something I am working on. I would assume you are working on Dialogflow to build your voice app.
Important: Calls outside the google network only work from an enterprise app NOT from the free version
You can just make a call from dialogflow like this for example:
const response = axios.post(...);
conv.ask(response.speech);
That is assuming your response from the server looks something like this:
{
status: 200,
speech: "ok that was successful",
response: "ok that was successful"
}

Google picker does not work without filter being applied for some users

we have an integrated with google picker(read-only scope,Docs view) it use to work fine but recently some users are getting blank screens as soon as the pop up shows but when they select some filter everything starts working fine after that no problems.
using developer tools i see all apis returning 200 for that first request
but there were no docs in response(i believe this is the api responsible for bringing docs in picker 'https://docs.google.com/picker/pvr')
when there are no docs returned in above api google is calling another api i assume it is to log error's probably(//docs.google.com/picker/ohnoes)
this api has following error params in it
&error=Cached and requested query mismatch
&line=Not available
&viewToken=["all",null,{"query":null}]
&ms=97
&transferDocs=false
&numErrors=1
has anybody else faced the similar problem
what do error "Cached and requested query mismatch" means in context of drive docs
Fyi - most accounts facing this problem seems like are of company domain for ex "jondoe#company.org"(this is a google account with company domain)
Filters Image
Thanks for your help.
not sure but looks like issue was may be related to google bug
https://issuetracker.google.com/issues/64825685
for me the code that was not working was:
addView(google.picker.ViewId.DOCS)
replaced this code with below code which works as expected
var view = new google.picker.DocsView();
view.setIncludeFolders(true).setOwnedByMe(true).setParent('root');
addView(view).

Google cast receiver throwing "Uncaught NotSupportedError: Failed to execute 'addSourceBuffer' on 'MediaSource'

We have successfully launched with chromecast support on our app and it was perfectly working fine, from the past few days it suddenly stopped working(the receiver was alway sending the buffering status to sender and it was continuously buffering), i have used the chrome debugging and able to find this exception in console
"Uncaught NotSupportedError: Failed to execute 'addSourceBuffer' on 'MediaSource': The type provided ('video/mp2t; codecs="mp4a.40.2,avc1.77.31"') is unsupported." in the media_player.js file (on the 80th line - according to chrome debugger).
not able to understand why suddenly this error is thrown, all our customers started complaining that chromecast support is not working.
can you please guide me through the problem.
Note: I have used the custom receiver sample from google cast github and modified the styling.
we are using HLS for streaming videos:
here is the sample m3u8 file content:
#EXTM3U
#EXT-X-VERSION:1
## Created with Unified Streaming Platform(version=1.6.9)
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=323376,CODECS="mp4a.40.2,avc1.77.31",RESOLUTION=1024x576
707eb5bd-dcdf-4f84-b1a3-7cdbd0d4af89-audio=131072-video_eng=174000.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=510996,CODECS="mp4a.40.2,avc1.77.31",RESOLUTION=1024x576
707eb5bd-dcdf-4f84-b1a3-7cdbd0d4af89-audio=131072-video_eng=351000.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=722996,CODECS="mp4a.40.2,avc1.77.31",RESOLUTION=1024x576
707eb5bd-dcdf-4f84-b1a3-7cdbd0d4af89-audio=131072-video_eng=551000.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1078096,CODECS="mp4a.40.2,avc1.77.31",RESOLUTION=1024x576
707eb5bd-dcdf-4f84-b1a3-7cdbd0d4af89-audio=131072-video_eng=886000.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1415176,CODECS="mp4a.40.2,avc1.77.31",RESOLUTION=1024x576
707eb5bd-dcdf-4f84-b1a3-7cdbd0d4af89-audio=131072-video_eng=1204000.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1743776,CODECS="mp4a.40.2,avc1.77.31",RESOLUTION=1024x576
707eb5bd-dcdf-4f84-b1a3-7cdbd0d4af89-audio=131072-video_eng=1514000.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2068136,CODECS="mp4a.40.2,avc1.77.31",RESOLUTION=1024x576
707eb5bd-dcdf-4f84-b1a3-7cdbd0d4af89-audio=131072-video_eng=1820000.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2498496,CODECS="mp4a.40.2,avc1.77.31",RESOLUTION=1024x576
707eb5bd-dcdf-4f84-b1a3-7cdbd0d4af89-audio=131072-video_eng=2226000.m3u8
I did saw answer to this post:
Is avc1.66.31,mp4a.40.2 supported by the Chromecast device?
but as we have different version of avc codec - avc1.77.31 don't know, what's the best way to get it working.
Note: I have posted the same question on G+ community, will update the answer there if i find a working solution here. thanks.
Try replacing your codec with avc1.77.30
host.processManifest = function(manifest) {
return manifest.replace(/CODECS=\"avc1.77.([0-9]*)/g, 'CODECS=\"avc1.77.30');
};

YouTube iframe API official example gives errors

As of 2013-04-16 WEST, the official getting started example of the YouTube iframe API results in error messages when run in Chrome 25 on WinXP/SP3:
I am accessing the example hosted on a web server, i.e. not via the local file system.
Am I doing something wrong? Is the example / the API broken? Can you reproduce the issue?
This error message has been around for quite a while -- as this Google Group post explains, it's due to an unresolved (4-year unresolved!) bug in WebKit:
https://groups.google.com/forum/?fromgroups=#!topic/youtube-api-gdata/VKGl4ahBGyk
It shouldn't affect anything -- it certainly hasn't for our projects, and in visiting the demo URL you posted, it looks like it isn't affecting the API functionality there (i.e. in that demo, the video still stops after 6 seconds per what the code states). There was an SO question a while back that thought it might be affecting analytics:
youtube "Unable to post message to..." causing video analytics to not be tracked
But it was never confirmed as being relevant.
It will be interesting to see if Chrome's move to the new Blink fork of WebKit leads to the bug itself being resolved.

Resources