Tag: youtube api

从youtube登录OAuth保存用户的性别和位置

我有使用OAuth2的youtube登录设置,并且在用户注册成功后,我想将用户性别和位置保存在数据库中。 检查OAuth文档https://developers.google.com/accounts/docs/OAuth2Login#userinfocall,您可以看到您可以访问用户的性别和位置以及姓名,电子邮件和个人资料图片等内容。 下面是我将用户信息保存到数据库的代码 user.rb def self.from_omniauth(auth) where(auth.slice(:provider, :uid)).first_or_initialize.tap do |user| user.provider = auth.provider user.uid = auth.uid user.name = auth.info.name user.email = auth.info.email user.picture = auth.info.image user.gender = auth.info.gender user.country = auth.info.locale user.oauth_token = auth.credentials.token user.oauth_expires_at = Time.at(auth.credentials.expires_at) user.save! end end 但是使用auth.info.USER_INFO配置似乎不会将这些值保存到数据库中。 我错过了什么吗? 以下是我的应用程序要求的参数,没有任何范围。 UPDATE 我通过传入userinfo.profile参数的额外范围来实现此目的。 请记住包含没有逗号分隔的完整url。 Rails.application.config.middleware.use OmniAuth::Builder do provider :youtube, YOUTUBE_KEY, YOUTUBE_SECRET, { :scope […]

如何通过ruby服务帐户插入videoyoutube api v3

我的目标是让我的应用用户通过我的服务器上传到我的YouTube帐户。 我有一个开发人员帐户,启用了youtube数据api和服务帐户客户端设置,由于某种原因我没有被授权。 我在网上挖掘,试图找出原因并找到很多东西。 我尝试使用项目客户端ID和范围在管理员安全设置中授予权限。 许多人说这个错误是由于我没有与我的帐户关联的YouTube帐户造成的。 但我不知道如何联想这些。 这是我的upload_video.rb脚本: require ‘rubygems’ require ‘google/api_client’ require ‘google/api_client/client_secrets’ require ‘google/api_client/auth/file_storage’ require ‘google/api_client/auth/installed_app’ require ‘certified’ DEVELOPER_KEY = “MY-DEVELOPER-KEY” YOUTUBE_UPLOAD_SCOPE = ‘https://www.googleapis.com/auth/youtube.upload’ YOUTUBE_API_SERVICE_NAME = ‘youtube’ YOUTUBE_API_VERSION = ‘v3’ def get_authenticated_service puts @PROGRAM_NAME client = Google::APIClient.new( :application_name => $PROGRAM_NAME, :application_version => ‘1.0.0’ ) key = Google::APIClient::KeyUtils.load_from_pkcs12(‘oauth2service.p12’, ‘notasecret’) auth_client = Signet::OAuth2::Client.new( :token_credential_uri => ‘https://accounts.google.com/o/oauth2/token’, […]