Giter Club home page Giter Club logo

Comments (9)

yoshimo avatar yoshimo commented on June 15, 2024 1

I think for the average user a "password&username" procedure is more intuitive and less work.
Regarding #44 , we might have to cheat with the website , so far i have not been able to buy things in the official app.
It shows only trailers with no purchase button unlike the official website

from kodi-addon-vimeo.

yoshimo avatar yoshimo commented on June 15, 2024

Have you cracked the pinning on the android app @jaylinski ?

from kodi-addon-vimeo.

jaylinski avatar jaylinski commented on June 15, 2024

@yoshimo Only for an older app-version: https://github.com/jaylinski/kodi-addon-vimeo/blob/master/docs/android-app-inspection.md

I'm currently struggling to get the latest version working on Android 11 with MitM interception. I'll give https://github.com/shroudedcode/apk-mitm a try on the weekend.

from kodi-addon-vimeo.

yoshimo avatar yoshimo commented on June 15, 2024

so far the patched app says "something strange happened" when trying to connect to api.vimeo.com.
The actual video data from akamai is loaded just fine here.
I guess that script is missing something

from kodi-addon-vimeo.

yoshimo avatar yoshimo commented on June 15, 2024

We go with a post request to
https://api.vimeo.com/oauth/authorize/password

This includes a url encoded
%0D%0Ausername%3De%40mail.de%26password%3DTHEPASSWORD%26grant_type%3Dpassword%26scope%3Dprivate%20public%20create%20edit%20delete%20interact%20upload%20purchased%20stats


{
	"access_token": "TOKENGABBELDIGOO",
	"token_type": "bearer",
	"scope": "private public create edit delete interact upload purchased stats",
	"app": {
		"name": "Vimeo Android App",
		"uri": "/apps/53467"
	},
	"user": {
		"uri": "/users/usernumber",
		"name": "MYNAME",
		"link": "https://vimeo.com/userusernumber",
		"location": "",
		"gender": "",
		"bio": null,
		"short_bio": null,
		"membership": {
			"type": "basic",
			"display": "Basic",
			"badge": {
				"type": null
			},
			"subscription": {
				"billing": {
					"status": "none"
				},
				"trial": {
					"has_been_in_free_trial": false
				}
			}
		},
		"created_time": "2021-01-21T15:23:03+00:00",
		"pictures": {
			"uri": null,
			"active": false,
			"type": "default",
			"sizes": [{
				"width": 30,
				"height": 30,
				"link": "https://i.vimeocdn.com/portrait/defaults-blue_30x30.png"
			}, {
				"width": 72,
				"height": 72,
				"link": "https://i.vimeocdn.com/portrait/defaults-blue_72x72.png"
			}, {
				"width": 75,
				"height": 75,
				"link": "https://i.vimeocdn.com/portrait/defaults-blue_75x75.png"
			}, {
				"width": 100,
				"height": 100,
				"link": "https://i.vimeocdn.com/portrait/defaults-blue_100x100.png"
			}, {
				"width": 144,
				"height": 144,
				"link": "https://i.vimeocdn.com/portrait/defaults-blue_144x144.png"
			}, {
				"width": 216,
				"height": 216,
				"link": "https://i.vimeocdn.com/portrait/defaults-blue_216x216.png"
			}, {
				"width": 288,
				"height": 288,
				"link": "https://i.vimeocdn.com/portrait/defaults-blue_288x288.png"
			}, {
				"width": 300,
				"height": 300,
				"link": "https://i.vimeocdn.com/portrait/defaults-blue_300x300.png"
			}, {
				"width": 360,
				"height": 360,
				"link": "https://i.vimeocdn.com/portrait/defaults-blue_360x360.png"
			}],
			"resource_key": "06cd312fcc3908e2d839aeb00ccaaf434acb0859",
			"default_picture": true
		},
		"websites": [],
		"metadata": {
			"connections": {
				"albums": {
					"uri": "/users/usernumber/albums",
					"options": ["GET"],
					"total": 0
				},
				"appearances": {
					"uri": "/users/usernumber/appearances",
					"options": ["GET"],
					"total": 0
				},
				"categories": {
					"uri": "/users/usernumber/categories",
					"options": ["GET"],
					"total": 0
				},
				"channels": {
					"uri": "/users/usernumber/channels",
					"options": ["GET"],
					"total": 0
				},
				"feed": {
					"uri": "/users/usernumber/feed",
					"options": ["GET"]
				},
				"followers": {
					"uri": "/users/usernumber/followers",
					"options": ["GET"],
					"total": 0
				},
				"following": {
					"uri": "/users/usernumber/following",
					"options": ["GET"],
					"total": 0
				},
				"groups": {
					"uri": "/users/usernumber/groups",
					"options": ["GET"],
					"total": 0
				},
				"likes": {
					"uri": "/users/usernumber/likes",
					"options": ["GET"],
					"total": 0
				},
				"membership": {
					"uri": "/users/usernumber/membership/",
					"options": ["PATCH"]
				},
				"moderated_channels": {
					"uri": "/users/usernumber/channels?filter=moderated",
					"options": ["GET"],
					"total": 0
				},
				"portfolios": {
					"uri": "/users/usernumber/portfolios",
					"options": ["GET"],
					"total": 0
				},
				"videos": {
					"uri": "/users/usernumber/videos",
					"options": ["GET"],
					"total": 0
				},
				"watchlater": {
					"uri": "/users/usernumber/watchlater",
					"options": ["GET"],
					"total": 0
				},
				"shared": {
					"uri": "/users/usernumber/shared/videos",
					"options": ["GET"],
					"total": 0
				},
				"pictures": {
					"uri": "/users/usernumber/pictures",
					"options": ["GET", "POST"],
					"total": 0
				},
				"recommended_users": {
					"uri": "/me/recommendations/users",
					"options": ["GET"],
					"total": 0
				},
				"recommended_channels": {
					"uri": "/me/recommendations/channels",
					"options": ["GET"],
					"total": 11
				},
				"watched_videos": {
					"uri": "/me/watched/videos",
					"options": ["GET"],
					"total": 0
				},
				"folders_root": {
					"uri": "/users/usernumber/folders/root",
					"options": ["GET"]
				},
				"projects": {
					"uri": "/users/usernumber/projects",
					"options": ["GET", "POST"],
					"total": 0
				},
				"team_members": {
					"uri": "/users/usernumber/teammembers",
					"options": ["GET", "POST"],
					"total": 0,
					"invites_remaining": 0,
					"max_seats": 0
				},
				"teams": {
					"uri": "/users/usernumber/teams",
					"options": ["GET"],
					"total": 1
				},
				"notifications": {
					"uri": "/me/notifications",
					"total_new": 0,
					"new_total": 0,
					"unread_total": 0,
					"total": null,
					"type_count": {
						"comment": 0,
						"credit": 0,
						"like": 0,
						"followed_user_video_available": 0,
						"share": 0,
						"video_available": 0,
						"mention": 0,
						"reply": 0,
						"storage_warning": 0,
						"follow": 0,
						"account_expiration_warning": 0,
						"vod_purchase": 0,
						"vod_preorder_available": 0,
						"vod_rental_expiration_warning": 0
					},
					"type_unseen_count": {
						"comment": 0,
						"credit": 0,
						"like": 0,
						"followed_user_video_available": 0,
						"share": 0,
						"video_available": 0,
						"mention": 0,
						"reply": 0,
						"storage_warning": 0,
						"follow": 0,
						"account_expiration_warning": 0,
						"vod_purchase": 0,
						"vod_preorder_available": 0,
						"vod_rental_expiration_warning": 0
					}
				},
				"block": {
					"uri": "/me/block",
					"options": ["GET"],
					"total": 0
				},
				"connected_apps": {
					"uri": "/me/connected_apps",
					"options": ["GET"],
					"total": 0
				}
			},
			"interactions": {
				"facebook_connected_app": {
					"is_connected": false,
					"options": ["PUT"],
					"uri": "/me/connected_apps/facebook",
					"all_scopes": {
						"publish_to_social": ["public_profile", "pages_show_list", "read_insights", "publish_video", "pages_manage_metadata", "pages_manage_posts"],
						"business_creative": ["business_creative_management", "business_creative_insights"]
					}
				},
				"youtube_connected_app": {
					"is_connected": false,
					"options": ["PUT"],
					"uri": "/me/connected_apps/youtube",
					"all_scopes": {
						"publish_to_social": ["https://www.googleapis.com/auth/userinfo.profile", "https://www.googleapis.com/auth/youtube", "https://www.googleapis.com/auth/youtube.force-ssl", "https://www.googleapis.com/auth/youtube.readonly", "https://www.googleapis.com/auth/youtube.upload", "https://www.googleapis.com/auth/youtubepartner", "https://www.googleapis.com/auth/youtubepartner-channel-audit", "https://www.googleapis.com/auth/yt-analytics-monetary.readonly", "https://www.googleapis.com/auth/yt-analytics.readonly"]
					}
				},
				"linkedin_connected_app": {
					"is_connected": false,
					"options": ["PUT"],
					"uri": "/me/connected_apps/linkedin",
					"all_scopes": {
						"publish_to_social": ["r_liteprofile", "w_member_social", "r_organization_social", "w_organization_social", "r_organization_admin"]
					}
				},
				"twitter_connected_app": {
					"is_connected": false,
					"options": ["PUT"],
					"uri": "/me/connected_apps/twitter",
					"all_scopes": {
						"publish_to_social": []
					}
				},
				"pinterest_connected_app": {
					"is_connected": false,
					"options": ["PUT"],
					"uri": "/me/connected_apps/pinterest",
					"all_scopes": {
						"publish_to_social": ["read_pins", "read_users", "read_secret_boards", "read_secret_pins", "write_boards", "write_pins"],
						"business_creative": []
					}
				}
			}
		},
		"location_details": {
			"formatted_address": "",
			"latitude": null,
			"longitude": null,
			"city": null,
			"state": null,
			"neighborhood": null,
			"sub_locality": null,
			"state_iso_code": null,
			"country": null,
			"country_iso_code": null
		},
		"skills": [],
		"available_for_hire": false,
		"can_work_remotely": false,
		"preferences": {
			"videos": {
				"privacy": {
					"view": "anybody",
					"comments": "anybody",
					"embed": "public",
					"download": true,
					"add": true
				}
			}
		},
		"content_filter": ["language", "drugs", "violence", "nudity", "safe", "unrated"],
		"upload_quota": {
			"space": {
				"free": 524288000,
				"max": 524288000,
				"used": 0,
				"showing": "periodic"
			},
			"periodic": {
				"free": 524288000,
				"max": 524288000,
				"used": 0,
				"reset_date": "2021-02-04T00:00:00-05:00"
			},
			"lifetime": {
				"free": 5368709120,
				"max": 5368709120,
				"used": 0
			}
		},
		"emails": [{
			"email": "[email protected]"
		}],
		"live_quota": {
			"status": "available",
			"time": {
				"monthly_remaining": 600,
				"monthly_maximum": 600,
				"event_maximum": 36000
			},
			"streams": {
				"remaining": 1,
				"maximum": 1
			}
		},
		"resource_key": "RESOURCEKEYNUMBER"
	}
}

is returned

from kodi-addon-vimeo.

yoshimo avatar yoshimo commented on June 15, 2024

to see what the user owns we go with a fully url-encoded GET request to

https://api.vimeo.com/me/ondemand/library?fields=uri,
name,
description,
type,
link,
publish.time,
pictures.sizes.width,
pictures.sizes.link,
metadata.connections.videos,
film.uri,
film.name,
film.description,
film.created_time,
film.release_time,
film.duration,
film.live,
film.play.status,
film.play.progress,
film.play.drm,
film.play.dash,
film.play.hls,
film.play.progressive.type,
film.play.progressive.width,
film.play.progressive.height,
film.play.progressive.link_expiration_time,
film.play.progressive.link,
film.play.progressive.fps,
film.play.progressive.size,
film.play.progressive.md5,
film.play.progressive.log,
film.width,
film.height,
film.link,
film.pictures.sizes.width,
film.pictures.sizes.link,
film.status,
film.privacy.view,
film.privacy.comments,
film.privacy.download,
film.privacy._bypass_token,
film.review_link,
film.review_page.active,
film.review_page.link,
film.file_transfer,
film.spatial,
film.categories.uri,
film.metadata.interactions,
film.metadata.connections.comments,
film.metadata.connections.likes,
film.metadata.connections.recommendations,
film.metadata.connections.publish_to_social,
film.metadata.connections.available_albums.uri,
film.metadata.connections.available_albums.total,
film.metadata.connections.available_channels.uri,
film.metadata.connections.available_channels.total,
film.metadata.connections.trailer,
film.metadata.connections.playback,
film.metadata.connections.ondemand,
film.metadata.connections.season,
film.metadata.connections.live_stats,
film.stats,
film.password,
film.resource_key,
film.live,
film.metadata.connections.texttracks,
film.metadata.connections.users_with_access,
film.upload.status,
film.transcode.status,
film.user.uri,
film.user.id,
film.user.resource_key,
film.user.name,
film.user.bio,
film.user.account,
film.user.location,
film.user.pictures.sizes.width,
film.user.pictures.sizes.link,
film.user.is_staff,
film.user.is_creator,
film.user.membership,
film.user.metadata.connections.likes.uri,
film.user.metadata.connections.likes.total,
film.user.metadata.connections.moderated_channels.uri,
film.user.metadata.connections.moderated_channels.total,
film.user.metadata.connections.channels.uri,
film.user.metadata.connections.channels.total,
film.user.metadata.connections.following.uri,
film.user.metadata.connections.following.total,
film.user.metadata.connections.followers.uri,
film.user.metadata.connections.followers.total,
film.user.metadata.connections.videos.uri,
film.user.metadata.connections.videos.total,
film.user.metadata.connections.watchlater.uri,
film.user.metadata.connections.watchlater.total,
film.user.metadata.interactions.follow.added,
film.user.metadata.interactions.follow.uri,
film.user.metadata.connections.feed.uri,
film.user.metadata.connections.albums.total,
film.user.metadata.connections.connected_apps.uri,
film.user.metadata.connections.connected_apps.total,
film.user.metadata.connections.connected_apps.options,
film.user.metadata.connections.folders_root.uri,
film.user.metadata.connections.pictures,
film.user.metadata.connections.notifications,
film.user.live_quota.status,
film.user.metadata.interactions.facebook_connected_app,
film.user.metadata.interactions.youtube_connected_app,
film.user.metadata.interactions.linkedin_connected_app,
film.user.metadata.interactions.twitter_connected_app,
film.user.preferences.videos,
film.user.upload_quota,
film.user.emails,
trailer,
user.uri,
user.id,
user.resource_key,
user.name,
user.bio,
user.account,
user.location,
user.pictures.sizes.width,
user.pictures.sizes.link,
user.is_staff,
user.is_creator,
user.membership,
user.metadata.connections.likes.uri,
user.metadata.connections.likes.total,
user.metadata.connections.moderated_channels.uri,
user.metadata.connections.moderated_channels.total,
user.metadata.connections.channels.uri,
user.metadata.connections.channels.total,
user.metadata.connections.following.uri,
user.metadata.connections.following.total,
user.metadata.connections.followers.uri,
user.metadata.connections.followers.total,
user.metadata.connections.videos.uri,
user.metadata.connections.videos.total,
user.metadata.connections.watchlater.uri,
user.metadata.connections.watchlater.total,
user.metadata.interactions.follow.added,
user.metadata.interactions.follow.uri,
user.metadata.connections.feed.uri,
user.metadata.connections.albums.total,
user.metadata.connections.connected_apps.uri,
user.metadata.connections.connected_apps.total,
user.metadata.connections.connected_apps.options,
user.metadata.connections.folders_root.uri,
user.metadata.connections.pictures,
user.metadata.connections.notifications,
user.live_quota.status,
user.metadata.interactions.facebook_connected_app,
user.metadata.interactions.youtube_connected_app,
user.metadata.interactions.linkedin_connected_app,
user.metadata.interactions.twitter_connected_app,
user.preferences.videos,
user.upload_quota,
user.emails&sort=purchase_time&_video_override=true&direction=desc

line breaks are inserted for better readability.

If you have nothing you get back this block that looks similiar


{
	"total": 0,
	"page": 1,
	"per_page": 25,
	"paging": {
		"next": null,
		"previous": null,
		"first": "/me/ondemand/library?fields=uri%2Cname%2Cdescription%2Ctype%2Clink%2Cpublish.time%2Cpictures.sizes.width%2Cpictures.sizes.link%2Cmetadata.connections.videos%2Cfilm.uri%2Cfilm.name%2Cfilm.description%2Cfilm.created_time%2Cfilm.release_time%2Cfilm.duration%2Cfilm.live%2Cfilm.play.status%2Cfilm.play.progress%2Cfilm.play.drm%2Cfilm.play.dash%2Cfilm.play.hls%2Cfilm.play.progressive.type%2Cfilm.play.progressive.width%2Cfilm.play.progressive.height%2Cfilm.play.progressive.link_expiration_time%2Cfilm.play.progressive.link%2Cfilm.play.progressive.fps%2Cfilm.play.progressive.size%2Cfilm.play.progressive.md5%2Cfilm.play.progressive.log%2Cfilm.width%2Cfilm.height%2Cfilm.link%2Cfilm.pictures.sizes.width%2Cfilm.pictures.sizes.link%2Cfilm.status%2Cfilm.privacy.view%2Cfilm.privacy.comments%2Cfilm.privacy.download%2Cfilm.privacy._bypass_token%2Cfilm.review_link%2Cfilm.review_page.active%2Cfilm.review_page.link%2Cfilm.file_transfer%2Cfilm.spatial%2Cfilm.categories.uri%2Cfilm.metadata.interactions%2Cfilm.metadata.connections.comments%2Cfilm.metadata.connections.likes%2Cfilm.metadata.connections.recommendations%2Cfilm.metadata.connections.publish_to_social%2Cfilm.metadata.connections.available_albums.uri%2Cfilm.metadata.connections.available_albums.total%2Cfilm.metadata.connections.available_channels.uri%2Cfilm.metadata.connections.available_channels.total%2Cfilm.metadata.connections.trailer%2Cfilm.metadata.connections.playback%2Cfilm.metadata.connections.ondemand%2Cfilm.metadata.connections.season%2Cfilm.metadata.connections.live_stats%2Cfilm.stats%2Cfilm.password%2Cfilm.resource_key%2Cfilm.live%2Cfilm.metadata.connections.texttracks%2Cfilm.metadata.connections.users_with_access%2Cfilm.upload.status%2Cfilm.transcode.status%2Cfilm.user.uri%2Cfilm.user.id%2Cfilm.user.resource_key%2Cfilm.user.name%2Cfilm.user.bio%2Cfilm.user.account%2Cfilm.user.location%2Cfilm.user.pictures.sizes.width%2Cfilm.user.pictures.sizes.link%2Cfilm.user.is_staff%2Cfilm.user.is_creator%2Cfilm.user.membership%2Cfilm.user.metadata.connections.likes.uri%2Cfilm.user.metadata.connections.likes.total%2Cfilm.user.metadata.connections.moderated_channels.uri%2Cfilm.user.metadata.connections.moderated_channels.total%2Cfilm.user.metadata.connections.channels.uri%2Cfilm.user.metadata.connections.channels.total%2Cfilm.user.metadata.connections.following.uri%2Cfilm.user.metadata.connections.following.total%2Cfilm.user.metadata.connections.followers.uri%2Cfilm.user.metadata.connections.followers.total%2Cfilm.user.metadata.connections.videos.uri%2Cfilm.user.metadata.connections.videos.total%2Cfilm.user.metadata.connections.watchlater.uri%2Cfilm.user.metadata.connections.watchlater.total%2Cfilm.user.metadata.interactions.follow.added%2Cfilm.user.metadata.interactions.follow.uri%2Cfilm.user.metadata.connections.feed.uri%2Cfilm.user.metadata.connections.albums.total%2Cfilm.user.metadata.connections.connected_apps.uri%2Cfilm.user.metadata.connections.connected_apps.total%2Cfilm.user.metadata.connections.connected_apps.options%2Cfilm.user.metadata.connections.folders_root.uri%2Cfilm.user.metadata.connections.pictures%2Cfilm.user.metadata.connections.notifications%2Cfilm.user.live_quota.status%2Cfilm.user.metadata.interactions.facebook_connected_app%2Cfilm.user.metadata.interactions.youtube_connected_app%2Cfilm.user.metadata.interactions.linkedin_connected_app%2Cfilm.user.metadata.interactions.twitter_connected_app%2Cfilm.user.preferences.videos%2Cfilm.user.upload_quota%2Cfilm.user.emails%2Ctrailer%2Cuser.uri%2Cuser.id%2Cuser.resource_key%2Cuser.name%2Cuser.bio%2Cuser.account%2Cuser.location%2Cuser.pictures.sizes.width%2Cuser.pictures.sizes.link%2Cuser.is_staff%2Cuser.is_creator%2Cuser.membership%2Cuser.metadata.connections.likes.uri%2Cuser.metadata.connections.likes.total%2Cuser.metadata.connections.moderated_channels.uri%2Cuser.metadata.connections.moderated_channels.total%2Cuser.metadata.connections.channels.uri%2Cuser.metadata.connections.channels.total%2Cuser.metadata.connections.following.uri%2Cuser.metadata.connections.following.total%2Cuser.metadata.connections.followers.uri%2Cuser.metadata.connections.followers.total%2Cuser.metadata.connections.videos.uri%2Cuser.metadata.connections.videos.total%2Cuser.metadata.connections.watchlater.uri%2Cuser.metadata.connections.watchlater.total%2Cuser.metadata.interactions.follow.added%2Cuser.metadata.interactions.follow.uri%2Cuser.metadata.connections.feed.uri%2Cuser.metadata.connections.albums.total%2Cuser.metadata.connections.connected_apps.uri%2Cuser.metadata.connections.connected_apps.total%2Cuser.metadata.connections.connected_apps.options%2Cuser.metadata.connections.folders_root.uri%2Cuser.metadata.connections.pictures%2Cuser.metadata.connections.notifications%2Cuser.live_quota.status%2Cuser.metadata.interactions.facebook_connected_app%2Cuser.metadata.interactions.youtube_connected_app%2Cuser.metadata.interactions.linkedin_connected_app%2Cuser.metadata.interactions.twitter_connected_app%2Cuser.preferences.videos%2Cuser.upload_quota%2Cuser.emails&sort=purchase_time&_video_override=true&direction=desc&page=1",
		"last": "/me/ondemand/library?fields=uri%2Cname%2Cdescription%2Ctype%2Clink%2Cpublish.time%2Cpictures.sizes.width%2Cpictures.sizes.link%2Cmetadata.connections.videos%2Cfilm.uri%2Cfilm.name%2Cfilm.description%2Cfilm.created_time%2Cfilm.release_time%2Cfilm.duration%2Cfilm.live%2Cfilm.play.status%2Cfilm.play.progress%2Cfilm.play.drm%2Cfilm.play.dash%2Cfilm.play.hls%2Cfilm.play.progressive.type%2Cfilm.play.progressive.width%2Cfilm.play.progressive.height%2Cfilm.play.progressive.link_expiration_time%2Cfilm.play.progressive.link%2Cfilm.play.progressive.fps%2Cfilm.play.progressive.size%2Cfilm.play.progressive.md5%2Cfilm.play.progressive.log%2Cfilm.width%2Cfilm.height%2Cfilm.link%2Cfilm.pictures.sizes.width%2Cfilm.pictures.sizes.link%2Cfilm.status%2Cfilm.privacy.view%2Cfilm.privacy.comments%2Cfilm.privacy.download%2Cfilm.privacy._bypass_token%2Cfilm.review_link%2Cfilm.review_page.active%2Cfilm.review_page.link%2Cfilm.file_transfer%2Cfilm.spatial%2Cfilm.categories.uri%2Cfilm.metadata.interactions%2Cfilm.metadata.connections.comments%2Cfilm.metadata.connections.likes%2Cfilm.metadata.connections.recommendations%2Cfilm.metadata.connections.publish_to_social%2Cfilm.metadata.connections.available_albums.uri%2Cfilm.metadata.connections.available_albums.total%2Cfilm.metadata.connections.available_channels.uri%2Cfilm.metadata.connections.available_channels.total%2Cfilm.metadata.connections.trailer%2Cfilm.metadata.connections.playback%2Cfilm.metadata.connections.ondemand%2Cfilm.metadata.connections.season%2Cfilm.metadata.connections.live_stats%2Cfilm.stats%2Cfilm.password%2Cfilm.resource_key%2Cfilm.live%2Cfilm.metadata.connections.texttracks%2Cfilm.metadata.connections.users_with_access%2Cfilm.upload.status%2Cfilm.transcode.status%2Cfilm.user.uri%2Cfilm.user.id%2Cfilm.user.resource_key%2Cfilm.user.name%2Cfilm.user.bio%2Cfilm.user.account%2Cfilm.user.location%2Cfilm.user.pictures.sizes.width%2Cfilm.user.pictures.sizes.link%2Cfilm.user.is_staff%2Cfilm.user.is_creator%2Cfilm.user.membership%2Cfilm.user.metadata.connections.likes.uri%2Cfilm.user.metadata.connections.likes.total%2Cfilm.user.metadata.connections.moderated_channels.uri%2Cfilm.user.metadata.connections.moderated_channels.total%2Cfilm.user.metadata.connections.channels.uri%2Cfilm.user.metadata.connections.channels.total%2Cfilm.user.metadata.connections.following.uri%2Cfilm.user.metadata.connections.following.total%2Cfilm.user.metadata.connections.followers.uri%2Cfilm.user.metadata.connections.followers.total%2Cfilm.user.metadata.connections.videos.uri%2Cfilm.user.metadata.connections.videos.total%2Cfilm.user.metadata.connections.watchlater.uri%2Cfilm.user.metadata.connections.watchlater.total%2Cfilm.user.metadata.interactions.follow.added%2Cfilm.user.metadata.interactions.follow.uri%2Cfilm.user.metadata.connections.feed.uri%2Cfilm.user.metadata.connections.albums.total%2Cfilm.user.metadata.connections.connected_apps.uri%2Cfilm.user.metadata.connections.connected_apps.total%2Cfilm.user.metadata.connections.connected_apps.options%2Cfilm.user.metadata.connections.folders_root.uri%2Cfilm.user.metadata.connections.pictures%2Cfilm.user.metadata.connections.notifications%2Cfilm.user.live_quota.status%2Cfilm.user.metadata.interactions.facebook_connected_app%2Cfilm.user.metadata.interactions.youtube_connected_app%2Cfilm.user.metadata.interactions.linkedin_connected_app%2Cfilm.user.metadata.interactions.twitter_connected_app%2Cfilm.user.preferences.videos%2Cfilm.user.upload_quota%2Cfilm.user.emails%2Ctrailer%2Cuser.uri%2Cuser.id%2Cuser.resource_key%2Cuser.name%2Cuser.bio%2Cuser.account%2Cuser.location%2Cuser.pictures.sizes.width%2Cuser.pictures.sizes.link%2Cuser.is_staff%2Cuser.is_creator%2Cuser.membership%2Cuser.metadata.connections.likes.uri%2Cuser.metadata.connections.likes.total%2Cuser.metadata.connections.moderated_channels.uri%2Cuser.metadata.connections.moderated_channels.total%2Cuser.metadata.connections.channels.uri%2Cuser.metadata.connections.channels.total%2Cuser.metadata.connections.following.uri%2Cuser.metadata.connections.following.total%2Cuser.metadata.connections.followers.uri%2Cuser.metadata.connections.followers.total%2Cuser.metadata.connections.videos.uri%2Cuser.metadata.connections.videos.total%2Cuser.metadata.connections.watchlater.uri%2Cuser.metadata.connections.watchlater.total%2Cuser.metadata.interactions.follow.added%2Cuser.metadata.interactions.follow.uri%2Cuser.metadata.connections.feed.uri%2Cuser.metadata.connections.albums.total%2Cuser.metadata.connections.connected_apps.uri%2Cuser.metadata.connections.connected_apps.total%2Cuser.metadata.connections.connected_apps.options%2Cuser.metadata.connections.folders_root.uri%2Cuser.metadata.connections.pictures%2Cuser.metadata.connections.notifications%2Cuser.live_quota.status%2Cuser.metadata.interactions.facebook_connected_app%2Cuser.metadata.interactions.youtube_connected_app%2Cuser.metadata.interactions.linkedin_connected_app%2Cuser.metadata.interactions.twitter_connected_app%2Cuser.preferences.videos%2Cuser.upload_quota%2Cuser.emails&sort=purchase_time&_video_override=true&direction=desc&page=1"
	},
	"data": []
}

from kodi-addon-vimeo.

jaylinski avatar jaylinski commented on June 15, 2024

@yoshimo Thanks for investing your time and getting things working with the apk-mitm tool. Also works for me now :)

What do you think about using the "Device code grant"-method for authorization?

This way the Vimeo user doesn't have to enter a password in Kodi. The user can authenticate on a (mobile) device and can grant just the permissions required for the Kodi addon.

from kodi-addon-vimeo.

jaylinski avatar jaylinski commented on June 15, 2024

@yoshimo Small update: I started to implement the login (see PR above). I chose to use the device-code grant, because it returns an access-token with infinite lifetime (in contrast to "password&username", which returns an access-code only valid for an hour, and I don't want to bother with refresh-tokens and stuff). Also this way we don't have to store the password as clear-text.

from kodi-addon-vimeo.

jaylinski avatar jaylinski commented on June 15, 2024

Login/logout now works. Only thing left is the profile-folder and polishing.

from kodi-addon-vimeo.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.