Ich kann nicht mit den erforderlichen Berechtigungen für die Caption API sprechen, aber im Allgemeinen, ja, Sie können OAuth zu Ihrer App einmal Ihr eigenes Konto verwenden und die Zugriffs- und Aktualisierungstoken verwenden, um nachfolgende OAuth'd zu machen Anfragen an die API. Sie können die Details der Erzeugung von Token finden Sie hier:
https://developers.google.com/youtube/v3/guides/auth/server-side-web-apps#Obtaining_Access_Tokens
die Schritte manuell ausführen zu können (zum Glück, Sie dies nur einmal tun müssen):
- Wenn der Zugriff bereits für eine erteilt App muss es entfernt werden, damit neue Authentifizierungsdaten eingerichtet werden können. Gehen Sie zu https://security.google.com/settings/security/permissions (während Sie in Ihrem Konto angemeldet sind) und entfernen Sie den Zugriff auf die App. Wenn sich die Client-ID oder die Geheimnummer ändern (oder Sie eine solche erstellen müssen), finden Sie sie unter API-Manager unter https://console.developers.google.com.
Zugang zu gewähren und einen temporären Code erhalten, geben Sie diese URL in einem Browser:
https://accounts.google.com/o/oauth2/auth?
client_id=<client_id>&
redirect_uri=http://www.google.com&
scope=https://www.googleapis.com/auth/youtube.force-ssl&
response_type=code&
access_type=offline&
approval_prompt=force
die Aufforderung Folgen Zugriff auf die App zu gewähren.
- Dies wird zu google.com mit einem
code
Parameter umgeleitet (z. B. https://www.google.com/?code=4/ux5gNj-_mIu4DOD_gNZdjX9EtOFf&gws_rd=ssl#). Speichere den Code.
eine POST-Anforderung senden (z.B. über Postman Chrome plugin) zu https://accounts.google.com/o/oauth2/token mit den folgenden in der Anforderungs Körper:
code=<code>&
client_id=<client_id>&
client_secret=<client_secret>&
redirect_uri=http://www.google.com&
grant_type=authorization_code
- Die Antwort enthält sowohl ein Zugriffstoken und Token aufzufrischen. Speichern Sie beide, insbesondere aber das Aktualisierungstoken (weil das Zugriffstoken in 1 Stunde abläuft).
Sie können dann die Zugriffstoken verwenden manuell eine OAuth'd Anfrage zu senden, nachdem eine der Optionen here, im Wesentlichen:
curl -H "Authorization: Bearer ACCESS_TOKEN" https://www.googleapis.com/youtube/v3/captions/<id>
oder
curl https://www.googleapis.com/youtube/v3/captions/<id>?access_token=ACCESS_TOKEN
(Als ich versuchte, Bei der zweiten Option für Beschriftungen habe ich folgende Meldung erhalten: "Das OAuth-Token wurde in der Abfragezeichenfolge empfangen, die diese API für andere Antwortformate als JSON oder XML verbietet. Versuchen Sie, das OAuth-Token in Autho zu senden rization header stattdessen. ")
Sie können auch das Aktualisierungstoken in Ihrem Code verwenden, um die für die Erstellung Ihres YouTube-Objekts erforderlichen Anmeldedaten zu erstellen. In Java, sieht dies wie folgt aus:
String clientId = <your client ID>
String clientSecret = <your client secret>
String refreshToken = <refresh token>
HttpTransport transport = new NetHttpTransport();
JsonFactory jsonFactory = new JacksonFactory();
GoogleCredential credential = new GoogleCredential.Builder()
.setTransport(transport)
.setJsonFactory(jsonFactory)
.setClientSecrets(clientId, clientSecret)
.build()
.setRefreshToken(refreshToken);
try {
credential.refreshToken();
} catch (IOException e) {
e.printStackTrace();
}
youtube = new YouTube.Builder(transport, jsonFactory, credential).build();
ich denke, Sie etwas Ähnliches in Python mit dem API Client Libraries tun kann, obwohl ich Python nicht versucht haben.
Ich habe auch dieses Problem. Es ärgert mich wirklich, dass die API Sie praktisch alles über Key ermöglicht, aber dann spontan erwartet, dass Benutzer auch OAuth2-Guthaben sideloaden, nur weil ihre schrecklichen Maschinenübersetzungen aus irgendeinem Grund Ihre Führerscheinnummer, Ihren Reisepass, 3 aktuelle Telefonrechnungen und Proof erfordern Ihrer Adresse ein Foto mit hoher Auflösung. Übrigens, die API-Seite scheint diese erhöhte Sicherheitsanforderung nirgends zu erwähnen ... – 1owk3y