Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Youtube数据API和Google云端点_Javascript_Python_Google Cloud Endpoints_Google Cloud Platform_Youtube Data Api - Fatal编程技术网

Javascript Youtube数据API和Google云端点

Javascript Youtube数据API和Google云端点,javascript,python,google-cloud-endpoints,google-cloud-platform,youtube-data-api,Javascript,Python,Google Cloud Endpoints,Google Cloud Platform,Youtube Data Api,在我的javascript客户端中,让Google云端点与YouTube数据API v3协同工作是个问题。我想我的问题是关于gapi.client.setApiKey()方法设置端点API和YouTube API的密钥。当我确实设置了密钥时,YouTube起作用,但我的端点不起作用,并且我使用我的端点API看到以下错误: { "domain": "usageLimits", "reason": "accessNotConfigured", "message": "Acce

在我的javascript客户端中,让Google云端点与YouTube数据API v3协同工作是个问题。我想我的问题是关于
gapi.client.setApiKey()
方法设置端点API和YouTube API的密钥。当我确实设置了密钥时,YouTube起作用,但我的端点不起作用,并且我使用我的端点API看到以下错误:

{
    "domain": "usageLimits",
    "reason": "accessNotConfigured",
    "message": "Access Not Configured. The API () is not enabled for your project. Please use the Google
 Developers Console to update your configuration.",
    "extendedHelp": "https://console.developers.google.com"
}
如果没有密钥,我的端点可以工作,但youtube搜索无法工作,我使用搜索功能获得以下消息:

{
    "domain": "usageLimits",
    "reason": "dailyLimitExceededUnreg",
    "message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup.",
    "extendedHelp": "https://code.google.com/apis/console"
}
下面总结了加载API的代码,但我基本上遵循了endpoints python/javascript教程和youtube数据API教程

init = function(apiRoot) {
  var apisToLoad;

  var callback = function(){
    if(--apisToLoad == 0){
      enableButtons();
    }
  }

  apisToLoad = 2; // must match number of calls to gapi.client.load()
  gapi.client.load('myAPIName', 'v1', callback, apiRoot);
  gapi.client.load('youtube', 'v3', onYouTubeApiLoad); 
};

// Called automatically when YouTube API interface is loaded (see line 9).
function onYouTubeApiLoad() {
    //sets the api key
    gapi.client.setApiKey('APIKeyForYouTubeFromDevConsole');
}

我对Youtube数据API不是非常熟悉。但我认为您用于端点的代码就是我们提供的代码。您完全可以将此代码用于端点API。对于Youtube数据,我建议

看起来您需要的代码如下所示:

import com.google.api.client.auth.oauth2.Credential;
import com.google.api.services.youtube.YouTube;

public class myClass {

    /**    
     * Define a global instance of a Youtube object, which will be used
     * to make YouTube Data API requests.
     */
    private static YouTube youtube;

    public static void main(String[] args) {

        List<String> scopes = Lists.newArrayList("https://www.googleapis.com/auth/youtube");

        try {
            // Authorize the request.
            Credential credential = Auth.authorize(scopes, "invideoprogramming");

            // This object is used to make YouTube Data API requests.
            youtube = new YouTube.Builder(Auth.HTTP_TRANSPORT, Auth.JSON_FACTORY, credential)
                .setApplicationName([YOUR APP])
                .build();
        }
import com.google.api.client.auth.oauth2.Credential;
导入com.google.api.services.youtube.youtube;
公共类myClass{
/**    
*定义将要使用的Youtube对象的全局实例
*发出YouTube数据API请求。
*/
私有静态YouTube YouTube;
公共静态void main(字符串[]args){
列表范围=列表。newArrayList(“https://www.googleapis.com/auth/youtube");
试一试{
//批准请求。
凭证=授权(作用域,“invideo编程”);
//此对象用于发出YouTube数据API请求。
youtube=new youtube.Builder(Auth.HTTP_传输、Auth.JSON_工厂、凭证)
.setApplicationName([您的应用])
.build();
}

从那里,您应该能够使用youtube对象进行调用,并使用gapi将内容发送到端点。

要使用API键仅验证youtube API请求,请删除
API.client.setApiKey
方法调用

在对YouTube数据API的调用中,向API请求添加一个关键参数:

var request = gapi.client.youtube.search.list({
    part: 'snippet',
    type: 'video',
    maxResults: 12,
    q: searchValue,
    key: 'YourAPIKeyGoesHere'
});

这意味着只有这些API调用是授权的,而不是端点调用。

你能在这里提供更多的代码来说明你的处理程序在这里所做的事情吗?我知道这是可以做到的,我知道对你的端点和youtube使用相同的密钥是错误的,但是如果没有更多的代码,很难告诉你需要用一些代码更新什么,让我知道w如果这有帮助的话……我想我需要指定我正在为哪个API设置密钥,但不知道怎么做?谢谢!感谢帮助=指向某个给我答案的链接,我会在一分钟后将其作为新答案发布。