我正在尝试使用 Javascript 运行"搜索 - youtube data api"的示例代码。我收到以下消息:"此应用程序需要访问您的YouTube帐户。请授权继续。我也得到一个带有文本"cat"的禁用搜索按钮。现在为了解决这个问题,我已经阅读了其他线程,这些线程也说不需要 oauth,因此也运行了此线程中提到的代码。YouTube API v3 按关键字 JavaScript 搜索
但是即使我进行了所有更改,当我单击授权按钮时,代码也不会向前移动,浏览器的地址栏中会附加一个"#",就是这样,我被卡住了.我正在输入客户端 ID 和所有内容。但是代码就是不向前移动。任何帮助将不胜感激!
编辑 - 这是代码。
<!doctype html>
<html>
<head>
<title>Search</title>
</head>
<body>
<div id="buttons">
<label> <input id="query" value='cats' type="text"/><button id="search-button" onclick="keyWordsearch()">Search</button></label>
</div>
<div id="search-container">
</div>
<script>
function keyWordsearch(){
gapi.client.setApiKey('API key here');
gapi.client.load('youtube', 'v3', function() {
makeRequest();
});
}
function makeRequest() {
var q = $('#query').val();
var request = gapi.client.youtube.search.list({
q: q,
part: 'snippet'
});
request.execute(function(response) {
var str = JSON.stringify(response.result);
$('#search-container').html('<pre>' + str + '</pre>');
});
}
</script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script src="https://apis.google.com/js/client.js?onload=googleApiClientReady"> </script>
</body>
</html>
我纠正了代码中的一些错误,例如keyWordsearch
替换为googleApiClientReady
和一些小错误。我测试了它工作的代码。不要忘记 API 密钥。
<!DOCTYPE html>
<html>
<head>
<title>Search</title>
</head>
<body>
<div id="buttons">
<label><input id="query" value='cats' type="text"/><button id="search-button" onclick="makeRequest()">Search</button></label>
</div>
<div id="search-container"></div>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script>
function makeRequest() {
var q = $('#query').val();
var request = gapi.client.youtube.search.list({
q: q,
part: 'snippet'
});
request.execute(function(response) {
var str = JSON.stringify(response.result);
$('#search-container').html('<pre>' + str + '</pre>');
});
};
function googleApiClientReady(){
gapi.client.setApiKey('YOUR API KEY');
gapi.client.load('youtube', 'v3', function() {});
};
</script>
<script src="https://apis.google.com/js/client.js?onload=googleApiClientReady"> </script>
</body>
</html>