r - 使用 R 连接到 Youtube Analytics API

标签 r httr google-apis-explorer youtube-analytics-api

我正在尝试使用 R 从 Youtube Analytics API 中提取数据并且遇到了障碍。我收到状态 403 错误。我可以确认:

  • 我尝试注销所有帐户,重新启动,重新验证,然后登录 1 个帐户,但没有成功
  • 我试过只使用 https://www.googleapis.com/auth/youtube.readonly范围(应该是正确的)并且所有 youtube 分析范围都在应用程序内获得授权(每个范围都有自己的凭据 key ),但它不起作用。
  • 我尝试从不同的浏览器进行身份验证,但没有用
  • 我可以确认来自 https://developers.google.com/apis-explorer/#p/youtubeAnalytics/v2/youtubeAnalytics.reports.query 的电话有效.

  • 更新
    我找到了解决方案并将代码更新为现在可以使用的
    scopes<- c('https://www.googleapis.com/auth/youtube.readonly')    
    endpoint<- oauth_endpoints('google')
    youtubeapp<- oauth_app(appname='Youtube Analytics API',
                           key=client_id,
                           secret=client_secret)
    youtube_token<- oauth2.0_token(
      endpoint= oauth_endpoints('google'),
      app = youtubeapp,
      scope = scopes)
    raw_data<- GET(paste("https://youtubeanalytics.googleapis.com/v2/reports?dimensions=",dimensions,"&endDate=",enddate,"&ids=",ids,"&metrics=",metrics,"&startDate=",startdate,sep=""),
                   config=youtube_token,content_type('application/json'))
    content(raw_data, as= 'text')
    

    最佳答案

    我发现访问权限是由 Youtube(而不是 API IAM)决定的,因此例如,即使我的个人电子邮件是 Brand 帐户和 API 的所有者,我仍然需要使用 Brand 帐户对调用进行身份验证,否则它将无法工作(我收到个人电子邮件的 403 错误)。我尝试将我的 Youtube channel 从品牌 channel 切换到个人 channel ,然后我的个人电子邮件就起作用了。但是,我需要在品牌帐户下,所以我已经切换回来了。

    不管怎样,我都会保留这段代码,因为我发现缺少使用 R 的好例子,我希望你觉得这很有用。

    关于r - 使用 R 连接到 Youtube Analytics API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53270818/

    相关文章:

    r - dplyr::select() 对可能不存在的列重新排序

    r - 使用 R 抓取 "aspx"页面

    api - YouTube 数据 API V3 未从 channel ID 返回直播

    dart - Uncaught Error :类 'int'没有实例getter 'length'

    Google Directory API 添加自定义架构/根据 google API 将其更新给用户(在进行中)

    r - ggplot 颜色图例形状混合字母数字和形状

    r - 使用 BigQuery 和 R 分析数据

    r - 如何使用 downloadHandler 在 Shiny 的数据表中创建下载按钮?

    r - Oauth token 的 GitHub 操作中的 Web 浏览器身份验证

    r - 从 API 响应列表中提取数据