Ho scritto un'applicazione che utilizza le Youtube API V3 ed autenticazione OAuth per fare alcune semplici operazioni sui video.
Attualmente per far funzionare l'applicazione devo autenticarmi tramite una schermata di accesso di google e ricopiare il token di Google per autorizzare l'operazione.
Ora vorrei eliminare la schermata di accesso, login e tutte quegli inutili meccanismi di sicurezza. Spostare poi l'applicazione su una cartella non pubblica del server ed usare un cron job per avviarla.
Se la avvio però servono i login, come faccio quindi a togliere il login e far funzionare l'applicazione senza funzionalità browser/cookie?
Se è chiaro qualcosa, ringrazio ogni tipo di aiuto.
API Google senza login
-
- Imperturbabile Insigne
- Messaggi: 2842
- Iscrizione: domenica 11 maggio 2008, 18:03
- Desktop: plasma
- Distribuzione: 22.04
- Località: Palermo
Re: API Google senza login
Ciao
Non ho capito questo:
Bisogna insegnare all'applicazione a fornire autonomamente a Google il token richiesto per l'accesso ai dati utente.
Ovviamente il modo dipende dal linguaggio che usi. Io posso parlarti solo di come farlo con Python, e cioè usando la libreria oauth2client
Se non sei con Python dovrai aspettare che passi qualcun altro, e magari meglio se specifichi che linguaggio usi.
Non ho capito questo:
Vuoi dire che ogni volta che esegui l'app devi fare login via browser? Allora evidentemente stai sbagliando qualcosa, se non è così spiegati meglio.Attualmente per far funzionare l'applicazione devo autenticarmi tramite una schermata di accesso di google e ricopiare il token di Google per autorizzare l'operazione
Bisogna insegnare all'applicazione a fornire autonomamente a Google il token richiesto per l'accesso ai dati utente.
Ovviamente il modo dipende dal linguaggio che usi. Io posso parlarti solo di come farlo con Python, e cioè usando la libreria oauth2client
Se non sei con Python dovrai aspettare che passi qualcun altro, e magari meglio se specifichi che linguaggio usi.
- Eresia
- Scoppiettante Seguace
- Messaggi: 362
- Iscrizione: venerdì 30 giugno 2006, 1:20
- Distribuzione: gentoo
- Sesso: Maschile
Re: API Google senza login
con il browser puoi utilizzare js
https://developers.google.com/youtube/v ... -library_1
Codice: Seleziona tutto
var GoogleAuth; // Google Auth object.
function initClient() {
gapi.client.init({
'apiKey': 'YOUR_API_KEY',
'clientId': 'YOUR_CLIENT_ID',
'scope': 'https://www.googleapis.com/auth/youtube.force-ssl',
'discoveryDocs': ['https://www.googleapis.com/discovery/v1/apis/youtube/v3/rest']
}).then(function () {
GoogleAuth = gapi.auth2.getAuthInstance();
// Listen for sign-in state changes.
GoogleAuth.isSignedIn.listen(updateSigninStatus);
});
}
emerge --auD --oneshot life/lucky-*
Re: API Google senza login
accade esattamente questo.rai ha scritto: ↑martedì 23 marzo 2021, 19:20Ciao
Non ho capito questo:Vuoi dire che ogni volta che esegui l'app devi fare login via browser? Allora evidentemente stai sbagliando qualcosa, se non è così spiegati meglio.Attualmente per far funzionare l'applicazione devo autenticarmi tramite una schermata di accesso di google e ricopiare il token di Google per autorizzare l'operazione
L'applicazione è scritta in PHP, per la gestione di alcune dirette video programmate. La versione finale lavora tra server e server, cioè tra il mio server con cron job ed il server di Youtube. La versione di test ha una semplice interfaccia, ma è solo per visualizzare il debug.
Nella documentazione di Google API ho trovato diverse contraddizioni e non è stata di aiuto.
Al momento il punto cruciale è togliere il login via browser. Ho quindi ricominciato questa parte.
Dalla documentazione per PHP trovo un esempio: https://developers.google.com/youtube/v ... ?apix=true
Codice: Seleziona tutto
$client = new Google_Client();
$client->setApplicationName('API code samples');
$client->setScopes([
'https://www.googleapis.com/auth/youtube.readonly',
]);
// TODO: For this request to work, you must replace
// "YOUR_CLIENT_SECRET_FILE.json" with a pointer to your
// client_secret.json file. For more information, see
// https://cloud.google.com/iam/docs/creating-managing-service-account-keys
$client->setAuthConfig('YOUR_CLIENT_SECRET_FILE.json');
$client->setAccessType('offline');
// Request authorization from the user.
$authUrl = $client->createAuthUrl();
printf("Open this link in your browser:\n%s\n", $authUrl);
print('Enter verification code: ');
$authCode = trim(fgets(STDIN));
// Exchange authorization code for an access token.
$accessToken = $client->fetchAccessTokenWithAuthCode($authCode);
$client->setAccessToken($accessToken);
Codice: Seleziona tutto
$client->setAuthConfig('YOUR_CLIENT_SECRET_FILE.json');
Dove è l'errore? Potreste aiutarmi?
Grazie
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 11 ospiti