Skip to content
David Spreekmeester edited this page Dec 2, 2014 · 1 revision

Vimeo PRO

Regular Vimeo integrates no problem, just spawn a Video model with 'module': 'garp' (you can find the template for this in /garp/application/modules/g/models/config/Video.json) and you're done. The CMS allows Vimeo URLs no problem, so everything automatically works very well.

Vimeo PRO is a special case. That is, when the PRO user decides to make their videos private (and that is a common reason to pay for a PRO account). The regular Vimeo API cannot find private videos, therefore we have to use the advanced API.

The following are the steps you must take to integrate the advanced API into Garp:

Login as your PRO user at vimeo.com. Create a new app at https://developer.vimeo.com/apps/new. The app info should be self-explanatory. You can leave the App Callback URL blank. Next, take the Client ID and Client Secret and add them to application.ini in the following fashion:

auth.adapters.vimeo.class = "Vimeo"
auth.adapters.vimeo.consumerKey = "your client ID"
auth.adapters.vimeo.consumerSecret = "your client secret"
auth.adapters.vimeo.mapping["display_name"] = "name"

Note: the "name" mapping should correspond to your user table. It might be first_name, depending on your setup. Spawn an AuthVimeo model as per the template in /garp/application/modules/g/models/config/AuthVimeo.json. Configure the Videoable behavior in Video.json as follows:

"Videoable": {
    "vimeo": {
        "useVimeoPro": true
    }
}

Done! You can now find the private videos using the API. The AuthVimeo model can be used to set the access token / secret of the currently logged in admin. That way one could access their own private videos if they login with Vimeo. Note: this functionality is in beta. Please ask Harmen and Peter for more info, it's been developed for Tefaf at some point but no full version was shipped. The AuthVimeo model however is still a necessity in making this work.

For reference, sites that use Vimeo PRO are Tefaf and Triodus Tips.

Clone this wiki locally