【发布时间】:2015-09-22 08:17:17
【问题描述】:
我刚刚开始了我的第一个流星项目,我正在尝试访问 youtube 的开发者 API。
我已经使用 google 创建了开发人员凭据,并且我已经包含了 accounts-ui 和 percolate 的 google-api 包。我可以使用 accounts-ui 成功登录,这意味着我的 OAuth 设置似乎正在运行。
然后我尝试在客户端上运行类似的东西:
GoogleApi.get('youtube/v3/search',{
part : 'snippet',
q : 'cats',
maxResults : 25
},
function(err,data) {
!err ? console.log(data) : console.log(err);
});
我在控制台上收到以下错误:
Error: failed [403] { "error": { "errors": [ { "domain": "global", "reason": "insufficientPermissions", "message": "Insufficient Permission" } ], "code": 403, "message": "Insufficient Permission" } }
我不确定我是否错误地调用了该函数,因为我似乎找不到 GoogleApi.get() 函数的任何用法示例(而且我是流星初学者),或者我的开发人员是否帐户设置不正确,或其他原因。
非常感谢您传递的任何帮助或指示。谢谢!
更新: 使用下面 FullStack 的建议,我的最终代码最终看起来像这样:
var url = "https://www.googleapis.com/youtube/v3/search";
var params = {
key: {Google API Key}
part: "snippet",
q: searchTerm,
maxResults: 25
};
Meteor.http.get(url, {params: params}, function (err, result) {
console.log(result.statusCode, result.data);
var retdata = result.data;
Session.set("youtubeSearchItems", retdata.items);
});
【问题讨论】:
-
用户授权的范围是什么?
-
在我的开发者帐户中,我已授予对我创建的项目凭据的 youtube API 的访问权限。不确定这是否是您的意思?
-
@Watseka 您能否提供一个模板示例和完整的 js 来调用搜索并将其显示给客户端 - 我是流星菜鸟,遇到了一些问题。当我第二次、第三次(等)单击搜索按钮时,新结果将附加到容器中......你能帮我解决这个问题吗?
标签: meteor google-api youtube-data-api