Istruzioni
Lo strumento per gli snippet di codice interattivi ti consente di testare facilmente le richieste API e generare esempi di codice specifici per queste richieste. Per ogni metodo, lo strumento mostra snippet di codice per uno o più casi d'uso e ogni caso d'uso descrive un modo comune di chiamare il metodo. Ad esempio, puoi chiamare il metodo channels.list per recuperare i dati di un canale specifico o del canale dell'utente corrente.
Eseguire richieste API
Puoi eseguire le richieste facendo clic sul pulsante Esegui accanto all'elenco dei parametri della richiesta. Se non hai autorizzato in precedenza l'applicazione a inviare richieste API per tuo conto, ti verrà chiesto di farlo. Come ulteriore precauzione, se la richiesta esegue un'operazione di scrittura, ovvero inserisce, aggiorna o elimina risorse associate al tuo canale, ti verrà chiesto di confermare l'esecuzione della richiesta prima che venga effettivamente eseguita.

Alternare snippet di codice ed esempi completi
Per ogni caso d'uso, lo strumento mostra uno snippet di codice che identifica il codice specifico del metodo chiamato. Ogni snippet identifica il metodo chiamato, nonché i valori dei parametri e delle proprietà utilizzati nella richiesta API.
Inoltre, lo strumento mostra anche un esempio di codice completo che inserisce lo snippet di codice in un modello che definisce le funzioni boilerplate per autorizzare e creare le richieste API. Puoi utilizzare il cursore sopra gli esempi per passare dallo snippet all'esempio completo:

Eseguire esempi di codice completi localmente
Gli esempi di codice completi sono progettati per essere copiati ed eseguiti localmente. Tieni presente i seguenti prerequisiti e passaggi di configurazione per l'esecuzione degli esempi di codice completi:
Prerequisiti
- Java 1.7 o versioni successive
- Gradle 2.3 o versioni successive
Configurare il progetto ed eseguire gli esempi di codice
-
Crea un progetto nella console Cloud e configura le credenziali per un'applicazione web. Imposta gli URI di reindirizzamento autorizzati in base alle esigenze.
-
Segui le istruzioni riportate nella Guida introduttiva all'API Java per preparare il progetto, ma sostituisci i contenuti del file predefinito
build.gradlecon il seguente codice:apply plugin: 'java' apply plugin: 'application' mainClassName = 'ApiExample' sourceCompatibility = 1.7 targetCompatibility = 1.7 version = '1.0' repositories { mavenCentral() } dependencies { compile 'com.google.api-client:google-api-client:1.22.0' compile 'com.google.oauth-client:google-oauth-client-jetty:1.22.0' compile 'com.google.apis:google-api-services-youtube:v3-rev182-1.22.0' compile group: 'com.google.code.gson', name: 'gson', version: '1.7.2' compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.4.4' } compileJava { options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" } -
Dalla directory di lavoro, salva il file
client_secrets.jsonassociato alle tue credenziali insrc/main/resources/client_secret.json. -
Dalla directory di lavoro, copia l'esempio di codice completo in
src/main/java/ApiExample.java. Il nome della classe in ogni esempio èApiExample, quindi non devi modificare il filebuild.gradleper eseguire esempi diversi. -
Esegui l'esempio dalla riga di comando:
gradle -q run
-
La maggior parte degli esempi stampa qualcosa su
STDOUT. Puoi anche controllare il sito web di YouTube per vedere gli effetti delle richieste che scrivono dati, ad esempio le richieste che creano playlist o sezioni del canale.
-
Crea un progetto nella console Cloud e configura le credenziali per un'applicazione web. Imposta le origini JavaScript autorizzate per identificare l'URL da cui invierai le richieste (ad es.
http://localhost). -
Copia l'esempio di codice completo in un file locale accessibile al tuo server web (ad es.
/var/www/html/example.html). -
Trova la riga nell'esempio di codice che imposta l'ID client da utilizzare per la richiesta e sostituisci il valore con l'ID client delle tue credenziali:
gapi.client.init({ 'clientId': 'REPLACE_ME', -
Apri il file nel browser (ad es.
http://localhost/example.html). Ti consigliamo di utilizzare un browser con una console di debug, come Google Chrome. -
Autorizza la richiesta, se necessario. Se la richiesta è autorizzata, la console di debug dovrebbe visualizzare la risposta dell'API alla richiesta come oggetto JSON.
Prerequisiti
- Node.js deve essere installato.
- Lo strumento di gestione dei pacchetti npm (incluso in Node.js).
- La libreria client delle API di Google per Node.js:
npm install googleapis --save
- Accesso a internet e a un browser web.
- Un Account Google.
Configurare il progetto ed eseguire gli esempi di codice
-
Crea un progetto nella console Cloud e configura le credenziali OAuth 2.0 nella console Google Cloud. Quando configuri le credenziali, imposta il tipo di applicazione su Altro.
-
Salva il file
client_secret.jsonassociato alle tue credenziali in un file locale. -
Copia l'esempio di codice completo in un file locale nella stessa directory del file
client_secret.json(o modifica l'esempio per identificare correttamente la posizione del file). -
Esegui l'esempio dalla riga di comando:
node sample.js
-
La maggior parte degli esempi stampa qualcosa su
STDOUTo, per gli esempi di applicazioni web, sulla pagina web che stai visualizzando. Puoi anche controllare il sito web di YouTube per vedere gli effetti delle richieste che scrivono dati, ad esempio le richieste che creano playlist o sezioni del canale.
Prerequisiti
- Python 2.6 o versioni successive
- Lo strumento di gestione dei pacchetti pip
- La libreria client delle API di Google per Python:
pip install --upgrade google-api-python-client
- google-auth, google-auth-oauthlib e google-auth-httplib2 per l'autorizzazione dell'utente.
pip install --upgrade google-auth google-auth-oauthlib google-auth-httplib2
- Il framework per applicazioni web Python Flask (se esegui gli esempi Python per le applicazioni del server web).
pip install --upgrade flask
- La libreria HTTP delle richieste.
pip install --upgrade requests
Configurare il progetto ed eseguire gli esempi di codice
-
Crea un progetto nella console Cloud e configura le credenziali OAuth 2.0 nella console Google Cloud. Quando configuri le credenziali, imposta il tipo di applicazione su Applicazione web per gli esempi che utilizzano il framework per applicazioni web Python Flask e imposta anche gli URI di reindirizzamento autorizzati per queste credenziali. In caso contrario, imposta il tipo di applicazione su Altro.
-
Salva il file
client_secret.jsonassociato alle tue credenziali in un file locale. -
Copia l'esempio di codice completo in un file locale nella stessa directory del file
client_secret.json(o modifica l'esempio per identificare correttamente la posizione del file). -
Esegui l'esempio dalla riga di comando:
python sample.py
Nota per gli esempi di applicazioni del server web:
Se esegui gli esempi Python per le applicazioni del server web, l'esecuzione dello script avvia un server web locale. Per eseguire effettivamente la richiesta API, devi andare alla pagina web pubblicata in un browser. Ad esempio, gli esempi Python che utilizzano il framework per applicazioni web Flask contengono una riga simile alla seguente:
app.run('localhost', 8080, debug=True)
Questo codice avvia un server web locale all'indirizzohttp://localhost:8080. Tuttavia, lo script non tenta di eseguire una richiesta API finché non vai effettivamente all'indirizzohttp://localhost:8080in un browser. L'URL del server locale deve essere impostato anche come URI di reindirizzamento autorizzato per le credenziali di autorizzazione. -
La maggior parte degli esempi stampa qualcosa su
STDOUTo, per gli esempi di applicazioni web, sulla pagina web che stai visualizzando. Puoi anche controllare il sito web di YouTube per vedere gli effetti delle richieste che scrivono dati, ad esempio le richieste che creano playlist o sezioni del canale.
Prerequisiti
- PHP 5.4 o versioni successive con l'interfaccia a riga di comando (CLI) e l'estensione JSON installata.
- Lo strumento di gestione delle dipendenze Composer.
- La libreria client delle API di Google per PHP:
php composer.phar require google/apiclient:^2.0
Configurare il progetto ed eseguire gli esempi di codice
-
Crea un progetto nella console Cloud e configura le credenziali OAuth 2.0 nella console Google Cloud. Quando configuri le credenziali, imposta il tipo di applicazione su Altro.
-
Salva il file
client_secret.jsonassociato alle tue credenziali in un file locale. -
Copia l'esempio di codice completo in un file locale nella stessa directory del file
client_secret.json(o modifica l'esempio per identificare correttamente la posizione del file). -
Esegui l'esempio dalla riga di comando:
php sample.php
-
La maggior parte degli esempi stampa qualcosa su
STDOUTo, per gli esempi di applicazioni web, sulla pagina web che stai visualizzando. Puoi anche controllare il sito web di YouTube per vedere gli effetti delle richieste che scrivono dati, ad esempio le richieste che creano playlist o sezioni del canale.
Prerequisiti
- Ruby 2.0 o versioni successive
- La libreria client delle API di Google per Ruby:
gem install google-api-client
Configurare il progetto ed eseguire gli esempi di codice
-
Crea un progetto nella console Cloud e configura le credenziali OAuth 2.0 nella console Google Cloud. Quando configuri le credenziali, imposta il tipo di applicazione su Altro.
-
Salva il file
client_secret.jsonassociato alle tue credenziali in un file locale. -
Copia l'esempio di codice completo in un file locale nella stessa directory del file
client_secret.json(o modifica l'esempio per identificare correttamente la posizione del file). -
Esegui l'esempio dalla riga di comando:
ruby sample.rb
-
La maggior parte degli esempi stampa qualcosa su
STDOUTo, per gli esempi di applicazioni web, sulla pagina web che stai visualizzando. Puoi anche controllare il sito web di YouTube per vedere gli effetti delle richieste che scrivono dati, ad esempio le richieste che creano playlist o sezioni del canale.
-
Crea un progetto nella console Cloud e configura le credenziali OAuth 2.0 nella console Google Cloud. Quando configuri le credenziali, imposta il tipo di applicazione su Altro.
-
Salva il file
client_secret.jsonassociato alle tue credenziali in un file locale. -
Copia l'esempio di codice completo in un file locale nella stessa directory del file
client_secret.json(o modifica l'esempio per identificare correttamente la posizione del file). -
Esegui l'esempio dalla riga di comando:
go run sample.go
-
La maggior parte degli esempi stampa qualcosa su
STDOUTo, per gli esempi di applicazioni web, sulla pagina web che stai visualizzando. Puoi anche controllare il sito web di YouTube per vedere gli effetti delle richieste che scrivono dati, ad esempio le richieste che creano playlist o sezioni del canale.
Utilizzare le funzioni boilerplate
Come indicato sopra, gli esempi di codice completi utilizzano codice boilerplate per autorizzare e creare le richieste API. Ad esempio, la funzione build_resource negli esempi Python utilizza un dizionario che mappa le proprietà delle risorse ai relativi valori per creare una risorsa che può essere inserita o aggiornata. Funzioni simili sono disponibili per JavaScript, PHP, Ruby, Go e Apps Script.
Ad esempio, le schede di seguito mostrano come chiamare le funzioni boilerplate per la creazione di risorse per creare una risorsa playlist. Tieni presente che le funzioni boilerplate non devono sapere il tipo di risorsa che viene creata.
function createResource(properties) {
var resource = {};
var normalizedProps = properties;
for (var p in properties) {
var value = properties[p];
if (p && p.substr(-2, 2) == '[]') {
var adjustedName = p.replace('[]', '');
if (value) {
normalizedProps[adjustedName] = value.split(',');
}
delete normalizedProps[p];
}
}
for (var p in normalizedProps) {
// Leave properties that don't have values out of inserted resource.
if (normalizedProps.hasOwnProperty(p) && normalizedProps[p]) {
var propArray = p.split('.');
var ref = resource;
for (var pa = 0; pa < propArray.length; pa++) {
var key = propArray[pa];
if (pa == propArray.length - 1) {
ref[key] = normalizedProps[p];
} else {
ref = ref[key] = ref[key] || {};
}
}
};
}
return resource;
}
var resource = createResource({
'snippet.title': 'Sample playlist ',
'snippet.description': 'This is a sample playlist description.',
'snippet.tags[]': 'JavaScript code, interactive',
'snippet.defaultLanguage': '',
'status.privacyStatus': 'private'
}
# Build a resource based on a list of properties given as key-value pairs.
# Leave properties with empty values out of the inserted resource.
def build_resource(properties):
resource = {}
for p in properties:
# Given a key like "snippet.title", split into "snippet" and "title", where
# "snippet" will be an object and "title" will be a property in that object.
prop_array = p.split('.')
ref = resource
for pa in range(0, len(prop_array)):
is_array = False
key = prop_array[pa]
# Convert a name like "snippet.tags[]" to snippet.tags, but handle
# the value as an array.
if key[-2:] == '[]':
key = key[0:len(key)-2:]
is_array = True
if pa == (len(prop_array) - 1):
# Leave properties without values out of inserted resource.
if properties[p]:
if is_array:
ref[key] = properties[p].split(',')
else:
ref[key] = properties[p]
elif key not in ref:
# For example, the property is "snippet.title", but the resource does
# not yet have a "snippet" object. Create the snippet object here.
# Setting "ref = ref[key]" means that in the next time through the
# "for pa in range ..." loop, we will be setting a property in the
# resource's "snippet" object.
ref[key] = {}
ref = ref[key]
else:
# For example, the property is "snippet.description", and the resource
# already has a "snippet" object.
ref = ref[key]
return resource
resource = build_resource({
'snippet.title': 'Sample playlist ',
'snippet.description': 'This is a sample playlist description.',
'snippet.tags[]': 'Python code, interactive',
'snippet.defaultLanguage': '',
'status.privacyStatus': 'private'}
// Add a property to the resource.
function addPropertyToResource(&$ref, $property, $value) {
$keys = explode(".", $property);
$is_array = false;
foreach ($keys as $key) {
// Convert a name like "snippet.tags[]" to "snippet.tags" and
// set a boolean variable to handle the value like an array.
if (substr($key, -2) == "[]") {
$key = substr($key, 0, -2);
$is_array = true;
}
$ref = &$ref[$key];
}
// Set the property value. Make sure array values are handled properly.
if ($is_array && $value) {
$ref = $value;
$ref = explode(",", $value);
} elseif ($is_array) {
$ref = array();
} else {
$ref = $value;
}
}
// Build a resource based on a list of properties given as key-value pairs.
function createResource($properties) {
$resource = array();
foreach ($properties as $prop => $value) {
if ($value) {
addPropertyToResource($resource, $prop, $value);
}
}
return $resource;
}
$propertyObject = createResource(array(
'snippet.title' => 'Sample playlist ',
'snippet.description' => 'This is a sample playlist description.',
'snippet.tags[]' => 'Python code, interactive',
'snippet.defaultLanguage' => '',
'status.privacyStatus' => 'private'));
# Build a resource based on a list of properties given as key-value pairs.
def create_resource(properties)
resource = {}
properties.each do |prop, value|
ref = resource
prop_array = prop.to_s.split(".")
for p in 0..(prop_array.size - 1)
is_array = false
key = prop_array[p]
if key[-2,2] == "[]"
key = key[0...-2]
is_array = true
end
if p == (prop_array.size - 1)
if is_array
if value == ""
ref[key.to_sym] = []
else
ref[key.to_sym] = value.split(",")
end
elsif value != ""
ref[key.to_sym] = value
end
elsif ref.include?(key.to_sym)
ref = ref[key.to_sym]
else
ref[key.to_sym] = {}
ref = ref[key.to_sym]
end
end
end
return resource
end
resource = create_resource({
'snippet.title': 'Sample playlist ',
'snippet.description': 'This is a sample playlist description.',
'snippet.tags[]': 'Ruby code, interactive',
'snippet.default_language': '',
'status.privacy_status': 'private'})
// Build an object from an object containing properties as key-value pairs
function createResource(properties) {
var res = {};
var normalizedProps = {};
for (var p in properties) {
var value = properties[p];
if (p.substr(-2, 2) == '[]' && value) {
var adjustedName = p.replace('[]', '');
normalizedProps[adjustedName] = value.split(',');
} else {
normalizedProps[p] = value;
}
}
for (var p in normalizedProps) {
if (normalizedProps.hasOwnProperty(p) && normalizedProps[p]) {
var propArray = p.split('.');
var ref = res;
for (var pa = 0; pa < propArray.length; pa++) {
var key = propArray[pa];
if (pa == propArray.length - 1) {
ref[key] = normalizedProps[p];
} else {
ref = ref[key] = ref[key] || {};
}
}
};
}
return res;
}
var resource = createResource({
'snippet.title': 'Sample playlist ',
'snippet.description': 'This is a sample playlist description.',
'snippet.tags[]': 'Apps Script code, interactive',
'snippet.defaultLanguage': '',
'status.privacyStatus': 'private'
});
func addPropertyToResource(ref map[string]interface{}, keys []string, value string, count int) map[string]interface{} {
for k := count; k < (len(keys) - 1); k++ {
switch val := ref[keys[k]].(type) {
case map[string]interface{}:
ref[keys[k]] = addPropertyToResource(val, keys, value, (k + 1))
case nil:
next := make(map[string]interface{})
ref[keys[k]] = addPropertyToResource(next, keys, value, (k + 1))
}
}
// Only include properties that have values.
if (count == len(keys) - 1 && value != "") {
valueKey := keys[len(keys)-1]
if valueKey[len(valueKey)-2:] == "[]" {
ref[valueKey[0:len(valueKey)-2]] = strings.Split(value, ",")
} else if len(valueKey) > 4 && valueKey[len(valueKey)-4:] == "|int" {
ref[valueKey[0:len(valueKey)-4]], _ = strconv.Atoi(value)
} else if value == "true" {
ref[valueKey] = true
} else if value == "false" {
ref[valueKey] = false
} else {
ref[valueKey] = value
}
}
return ref
}
func createResource(properties map[string]string) string {
resource := make(map[string]interface{})
for key, value := range properties {
keys := strings.Split(key, ".")
ref := addPropertyToResource(resource, keys, value, 0)
resource = ref
}
propJson, err := json.Marshal(resource)
if err != nil {
log.Fatal("cannot encode to JSON ", err)
}
return string(propJson)
}
func main() {
properties := (map[string]string{
"snippet.title": "Sample playlist ",
"snippet.description": "This is a sample playlist description.",
"snippet.tags[]": "Go code, interactive",
"snippet.defaultLanguage": "",
"status.privacyStatus": "private",
})
res := createResource(properties)Caricare le risorse esistenti
Per testare una richiesta di aggiornamento di una risorsa esistente, puoi caricare i valori delle proprietà correnti della risorsa nel modulo di aggiornamento. Ad esempio, per aggiornare i metadati di un video, inserisci l'ID video nel campo della proprietà id e fai clic sul pulsante Carica risorsa. I valori delle proprietà correnti vengono caricati nel modulo e puoi aggiornare solo i valori che vuoi modificare.