How to know when video conversion is completed? - vimeo

I have successfully uploaded a video to Vimeo using the API, but after that It will take some time for video conversion..
Is there a way to check if video conversion has completed using the API?
I am looking for something like a callback URL..

Currently the API does not perform a callback or push notification when an upload has completed video transcoding. Instead, you'll need to periodically make requests to the API to get the video's status.
To get a video's status, make a filtered request with these fields specified:
GET https://api.vimeo.com/videos/[video_id]?fields=uri,upload.status,transcode.status
The upload.status and transcode.status fields will return one of the following values:
complete
error
in_progress

Related

Getting user error when trying a web request

I am making the following request trying to get the thumbnail images for a specific video.
https://api.vimeo.com/videos/447593888/pictures?access_token=XXXXXXXXXX
I generated the access token in my account however I get the following error.
"No user credentials were provided."
Any idea why this wouldn't work? I wish there was a simple send and return the Title, Duration, Thumbnail when I sent the ID value.
Access tokens should be passed in the request header, not as a query parameter (this is also insecure as a malicious actor could intercept the request url and get your access token, which is why only tokens with "public" scope can be provided this way): https://developer.vimeo.com/api/authentication#presenting-the-access-token
I wish there was a simple send and return the Title, Duration, Thumbnail when I sent the ID value.
Have you tried oEmbed? The oEmbed API doesn't require authentication, and can be used to get the metadata (name, description, thumbnails) for any embeddable video: https://developer.vimeo.com/api/oembed/videos
Vimeo oEmbed works perfectly and you can send in the height/width of the thumbnail you want and it pulls that, duration, title, desc, created date, etc. Awesome!

Is it possible to playback a RingCentral call recording using a HTML5 audio element?

When using the RingCentral Call Log to access call recording audio files, a contentUri is provided in the response.record[x].recording object which points to a binary form of the call audio. The API's Authorization header is still necessary to retrieve this file.
Is it possible to play this back in a web app using a HTML5 audio element so we don't have to host/upload to call audio to our own system. It seems like this would need to avoid using the Authorization header and supply authorization in some other fashion. For example:
<audio src="https://media.ringcentral.com/.../recording/{recordingId}"></audio>
More information on the HTML5 audio element is available here:
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/audio
It is possible to playback a RingCentral call recording with using an HTML5 audio element without downloading and hosting the audio file yourself. Authorization is still required so it must be passed using an approach other than the HTTP header.
Two approaches include:
1) Access Token in Query String
You can append the access token to the media URL as a query parameter so you have something like:
<audio
src="https://media.ringcentral.com/.../{recordingId}?access_token=MyToken">
</audio>
A caveat with this approach is that the URL will stop working when the access token expires, typically in one hour or less. This is useful for ephemeral links such as time-sensitive links in a chat stream, however, less so if the link needs to be retrieved later. For that, see the following approach.
2) Access Token in Cookie
If you want a permanent URL that doesn't expire, you can use a proxy service that manages the authentication for you. One way to do this is to use the RingCentral cookie-based Implicit Grant OAuth flow to transmit the access token to the proxy service. This way, when attempting to retrieve a media file via URL (without token), the proxy service can check if the cookie is present and valid. If it isn't, the proxy service can prompt for a successful Implicit Grant login before forwarding to the call recording media file. An example implementation of this is available here:
https://github.com/tylerlong/permalink

Add domain to all vimeo videos by API

We need to add domains to all of our videos. But I cant find a API call to add a domain to all of the videos - only one video at a time.
Right now I am doing two steps:
https://api.vimeo.com/me/videos....
Here I get all of our videos and their IDs and a hell of lot of stuff I dont need.
Then I loop through all of the videoIDs and call
https://api.vimeo.com/videos/{videoId}/privacy/domains/{newDomain} for each video.
This results in 1200 put requests which is not good. Furthermore I am not sure if we get banned with to many requests.
Is there som APIs that I have missed which supports what I am trying to do ?
Any help is appreciated.
Instead of using the API to do this, I suggest setting the default video privacy for all your videos at https://vimeo.com/settings/videos/upload_defaults - this includes the ability to add domain privacy.
Looking through the documentation I found an option for reducing the amount of data return. By adding e.g. &fields=uri,privacy to my api calls I reduced the amount of data returned.
I still have to loop each video and do a put however the first step is a lot faster.

Youtube Api get user's subscriped channels

I'm coding a app which needs to get a list of subscribed channels of the user.
So the user gets navigated to this page so I can get the authorization key:
Get Access key for my App "AboReminder"
Now I get the access key which I need for some api requests. But I am stuck on the issue that I dont have any glue how to get the subscription list.
I'm not able to understand the information on the google page: Google APi documentation
So my question how is a possible request for getting all subscriped channels of the user?
send an ajax request to the following URL after replacing the {{OAUTHKEY}} with the appropriate user authorization key
https://content.googleapis.com/youtube/v3/subscriptions?part=id,contentDetails,snippet&maxResults=10&mine=true&key={{OAUTHKEY}}
This should be a GET request and no request body required to set.
You can navigate to the next set of results using 'nextPageToken' in the response.
By default api can generate only 5 results. You can get upto 50 results by providing 'maxResults' query parameter.
As far as I know, there is no way to get all the list.

Any way to get all status updates using graph API?

I can use graph API to get uploaded status updates of a Facebook page but it does not return all of them. The more back I go in time, the less updates it provides. Is there any way to make sure I get each and every status update. This is the tool I am talking about https://developers.facebook.com/tools/explorer