【问题标题】:Youtube ContentID getting ownership info through the API using AppsScriptYoutube Content ID 使用 Apps 脚本通过 API 获取所有权信息
【发布时间】:2013-09-17 23:10:29
【问题描述】:

我正在尝试通过 Youtube ContentID API 获取针对 AssetID 的所有权信息。 我可以通过 API Explorer 查看我需要的数据,但似乎无法使用点符号深入了解数据。

以下是 API 资源管理器的输出:

{
"kind": "youtubePartner#asset",
"id": "A146063471697194",
"type": "music_video",
"ownership": {
"kind": "youtubePartner#rightsOwnership",
"general": [
  {
"ratio": 100,
"owner": "Indmusic",
"type": "exclude"
}
]
},
"ownershipEffective": {
"kind": "youtubePartner#rightsOwnership",
"general": [
{
"ratio": 100,
"owner": "Indmusic",
"type": "exclude"
}
]
}
}

访问“所有者”时,我收到的是 undefined 而不是列出的值。

var url2 = _.sprintf('https://www.googleapis.com/youtube/partner/v1/assets/%s?fetchMetadata=effective&fetchOwnership=effective&key=%s',id,API_KEY);
var result2 = JSON.parse(UrlFetchApp.fetch(url2, getUrlFetchOptions()).getContentText());
Logger.log(result2.ownership.general.owner);

返回未定义

我已经尝试了所有权有效和所有权,它们都是未定义的。 我可以记录来自 result2.ownership.general 的数据,但不能低于此。

【问题讨论】:

    标签: youtube google-apps-script youtube-api youtube-javascript-api


    【解决方案1】:

    您可以通过 [括号] in 判断 general 是一个数组:

    "general": [
      {
      "ratio": 100,
      "owner": "Indmusic",
      "type": "exclude"
    }
    ]
    

    尝试: Logger.log(result2.ownership.general[0].owner);

    一般情况下,已声明为数组,即使数组中只有一项,也需要位置 [0]。

    【讨论】:

    • 工作就像一个魅力!感谢您的信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-19
    • 2019-12-06
    • 2017-12-08
    • 1970-01-01
    • 2019-07-18
    相关资源
    最近更新 更多