Jump to content
Fivewin Brasil

Rotina para gravar backup Google Drive - Resolvido


Jmsilva

Recommended Posts

 

Sem querer desanimar mas googledrive vai morrer ano que vem... Veja se vale a pena fazer algo que já tem data marcada pra acabar.

 

https://olhardigital.com.br/noticia/google-anuncia-o-fim-do-app-do-drive-para-computador/70941

Na verdade o que eu quero é usar o exemplo de autenticação para desenvolver a NFSe de Floripa.

Link to comment
Share on other sites

 

Maestro, espere cinco minutos para responder a un post. Esto es una seguridad del foro contra hackers.

cnavarro This is my same question.

Kapiaba, tem de melhorar isto. Existem outros meios de burlar ataques e criticar usuarios. Basta fazer uma checagem do usuário, como tempo de estadia, posts, etc e liberar este tempo.

Esperar cinco minutos para dar uma resposta, na internet, é inconcebível, afinal não temos(pelo menos eu) tempo pra ficar esperando para postar.

Fiquei sem dar respostas e ajudar amigos por causa deste limite.

Link to comment
Share on other sites

 

Na verdade o que eu quero é usar o exemplo de autenticação para desenvolver a NFSe de Floripa.

Eroni, quase morri do coração. Meus filmes XXX estão todos no Google Drive.

Fui ler a matéria e o que diz é: o app para PC e MAC serão descontinuados e terão de ser trocados pelo novo. O Google Drive continuará existindo.

Ufahhhhhhhhhhhh!

Link to comment
Share on other sites

 

cnavarro This is my same question.

Kapiaba, tem de melhorar isto. Existem outros meios de burlar ataques e criticar usuarios. Basta fazer uma checagem do usuário, como tempo de estadia, posts, etc e liberar este tempo.

Esperar cinco minutos para dar uma resposta, na internet, é inconcebível, afinal não temos(pelo menos eu) tempo pra ficar esperando para postar.

Fiquei sem dar respostas e ajudar amigos por causa deste limite.

Rochinha, nada posso fazer. O forum é do Gilmer Tavares e o programador dele é Português! kkkkkkkkkkkkkkkkkkkkkk

Link to comment
Share on other sites

 

Eroni, quase morri do coração. Meus filmes XXX estão todos no Google Drive.

Fui ler a matéria e o que diz é: o app para PC e MAC serão descontinuados e terão de ser trocados pelo novo. O Google Drive continuará existindo.

Ufahhhhhhhhhhhh!

que bom, eu tinha entendido que ele iria ser descontinuado por completo... sendo assim maravilha...

Link to comment
Share on other sites

  • 1 month later...
3 hours ago, Jmsilva said:

New version 18/01/2018

Nueva version de la libreria para usar las APIS de Google
Permite subir ficheros a GDrive y, si lo deseas, obtener el link de fichero compartido, para ser descargado sin utilizar las APIs

New version lib for use APIS Google
Allow upload files to GDrive and, obtain link for share and download file within API

Spanish

http://forums.fivetechsupport.com/viewtopic.php?f=6&t=34903&start=15#p209198

English

http://forums.fivetechsupport.com/viewtopic.php?f=3&t=34904&start=15#p209197

 

Link to comment
Share on other sites

 

Disculpa, he querido borrar un mensaje mio que estaba editando, y por error creo que he borrado el suyo. No entiendo como permite borrar mensajes de los que no soy el propietario. 

Por favor, dame una cuenta de correo

Administrador: por favor, explíqueme por qué

Gracias

Ok, sem problemas !

Cuenta de correio: saa50@bol.com.br

Quanto aos erros apresentados são da nova versão de 18/01/2018..

Posso postar novamente os erros se necessário.

Obrigado!

Link to comment
Share on other sites

Olá meus amigos! 

A quem interessar, graças a biblioteca GOOGLE.LIB do  Cristobal Navarro foi possível fazer o UpLoad via sistema conforme o escopo deste.

-Primeiro passo: Baixar lib e os arquivos de exemplos do Navarro, de data 18/01/2018.

-Próximo passo: Compilar e verificar se apresenta algum tipo de erro, caso exista vai precisar das novas: libs hbcurl,hbcurls,hbssl,hbssls,hbtip,hbtipssl,libeay32,libssl32 com Cristobal Navarro.

- Passo seguinte, em caso de sucesso nos anteriores, é criar uma credencial no google:

//Para gerar as credencias pelo google vá ao site:
//https://cloud.google.com/?hl=pt-br
//1-Click sobre a palavra CONSOLE no canto superior direito
//2-Faz o login com seu_email@gmail.com
//3-Barra lateral esquerda, posicione sobre "APIs e Serviços" e  seleciona "Credenciais" no sub menu.
//4-Crie uma credencial para seu projeto
//5-faça donwload do arquivo .json
//copie o "Id do Cliente" em oDrive:cClientId
//copie a "Chave Secreta do Cliente" para oDrive:cSecretId

- Finalmente para fazer o teste final use a rotina abaixo com algumas alterações que fiz, esta rotina faz parte da API do Cristobal Navarro.

#include "Fivewin.ch"

REQUEST HB_CODEPAGE_PTISO
REQUEST HB_LANG_PT

//Para gerar as credencias pelo google vá ao site:
//https://cloud.google.com/?hl=pt-br
//1-Click sobre a palavra CONSOLE no canto superior direito
//2-Faz o login com seu_email@gmail.com
//3-Barra lateral esquerda, posicione sobre "Apis e Servicos" e 
//  seleciona "Credenciais" no sub menu.
//4-Crie uma credencial para seu projeto
//5-faça donwload do arquivo .json
//copie o "Id do Cliente" em oDrive:cClientId
//copie a "Chave Secreta do Cliente" para oDrive:cSecretId


Static cKeySecret := "Chave Secreta do Cliente"
Static cClientId  := "Id do Cliente"


Static oDrive
//----------------------------------------------------------------------------//

Function Main()
   HB_CDPSELECT("PTISO")
   //OU HB_SetCodePage("PTISO") // para ordenacion - requiere codepage.lib
   SET CENTURY ON

   UploadMyFile()

Return nil

//----------------------------------------------------------------------------//

Function UploadMyFile()

   local cFile  := ""
   local lSw    := .F.

   cFile := cGetFile32( "All Files (*.*) |*.*|", "Select a File to Upload" )
   MsgStop(cFile)
   if !Empty( cFile )
      oDrive  := TGDrive():New( , .T., .F. )
      //credenciais geradas pelo google
      oDrive:cJSonFile := "d:\trab\google\client_id.json"
      oDrive:cClientId := cClientId				
      oDrive:cSecretid := cKeySecret

      //
      lSw     := oDrive:Activate()

      XBrowse(oDrive)

      if lSw
         if oDrive:Authorize()
            oDrive:ListFiles()  //carrega aFilesLists
            XBrowse( oDrive:aFilesLists )
            If oDrive:UpLoadFileG( cFile, , .T. )   // Last parameter .T., create shared link
               MsgInfo("Arquivo enviado com sucesso !!!","UpLoad")
            Else
               MsgStop(oDrive:cError,"UpLoad")
            Endif
         endif
      else
         MsgStop("Erro ao autenticar as credenciais do Google.","UpLoad")
      endif
   endif

Return nil

//----------------------------------------------------------------------------//

Ele me disse que em breve vai lançar uma nova versão com os ajustes, de qualquer forma, está muito bacana, passei uma sugestão para ele vamos ver se consegue 

implementar na classe.

Obs: os testes que fiz foi com Harbour 3.2 eBorland 7.2

Parabéns ao Cristobal Navarro pelo projeto, excelente!, 5 estrelas.

JMSilva

Caraguatatuba/SP

 

 

Link to comment
Share on other sites

 

Olá meus amigos! 

A quem interessar, graças a biblioteca GOOGLE.LIB do  Cristobal Navarro foi possível fazer o UpLoad via sistema conforme o escopo deste.

-Primeiro passo: Baixar lib e os arquivos de exemplos do Navarro, de data 18/01/2018.

-Próximo passo: Compilar e verificar se apresenta algum tipo de erro, caso exista vai precisar das novas: libs hbcurl,hbcurls,hbssl,hbssls,hbtip,hbtipssl,libeay32,libssl32 com Cristobal Navarro.

- Passo seguinte, em caso de sucesso nos anteriores, é criar uma credencial no google:

//Para gerar as credencias pelo google vá ao site:
//https://cloud.google.com/?hl=pt-br
//1-Click sobre a palavra CONSOLE no canto superior direito
//2-Faz o login com seu_email@gmail.com
//3-Barra lateral esquerda, posicione sobre "APIs e Serviços" e  seleciona "Credenciais" no sub menu.
//4-Crie uma credencial para seu projeto
//5-faça donwload do arquivo .json
//copie o "Id do Cliente" em oDrive:cClientId
//copie a "Chave Secreta do Cliente" para oDrive:cSecretId

- Finalmente para fazer o teste final use a rotina abaixo com algumas alterações que fiz, esta rotina faz parte da API do Cristobal Navarro.


#include "Fivewin.ch"

REQUEST HB_CODEPAGE_PTISO
REQUEST HB_LANG_PT

//Para gerar as credencias pelo google vá ao site:
//https://cloud.google.com/?hl=pt-br
//1-Click sobre a palavra CONSOLE no canto superior direito
//2-Faz o login com seu_email@gmail.com
//3-Barra lateral esquerda, posicione sobre "Apis e Servicos" e 
//  seleciona "Credenciais" no sub menu.
//4-Crie uma credencial para seu projeto
//5-faça donwload do arquivo .json
//copie o "Id do Cliente" em oDrive:cClientId
//copie a "Chave Secreta do Cliente" para oDrive:cSecretId


Static cKeySecret := "Chave Secreta do Cliente"
Static cClientId  := "Id do Cliente"


Static oDrive
//----------------------------------------------------------------------------//

Function Main()
   HB_CDPSELECT("PTISO")
   //OU HB_SetCodePage("PTISO") // para ordenacion - requiere codepage.lib
   SET CENTURY ON

   UploadMyFile()

Return nil

//----------------------------------------------------------------------------//

Function UploadMyFile()

   local cFile  := ""
   local lSw    := .F.

   cFile := cGetFile32( "All Files (*.*) |*.*|", "Select a File to Upload" )
   MsgStop(cFile)
   if !Empty( cFile )
      oDrive  := TGDrive():New( , .T., .F. )
      //credenciais geradas pelo google
      oDrive:cJSonFile := "d:\trab\google\client_id.json"
      oDrive:cClientId := cClientId				
      oDrive:cSecretid := cKeySecret

      //
      lSw     := oDrive:Activate()

      XBrowse(oDrive)

      if lSw
         if oDrive:Authorize()
            oDrive:ListFiles()  //carrega aFilesLists
            XBrowse( oDrive:aFilesLists )
            If oDrive:UpLoadFileG( cFile, , .T. )   // Last parameter .T., create shared link
               MsgInfo("Arquivo enviado com sucesso !!!","UpLoad")
            Else
               MsgStop(oDrive:cError,"UpLoad")
            Endif
         endif
      else
         MsgStop("Erro ao autenticar as credenciais do Google.","UpLoad")
      endif
   endif

Return nil

//----------------------------------------------------------------------------//

Ele me disse que em breve vai lançar uma nova versão com os ajustes, de qualquer forma, está muito bacana, passei uma sugestão para ele vamos ver se consegue 

implementar na classe.

Obs: os testes que fiz foi com Harbour 3.2 eBorland 7.2

Parabéns ao Cristobal Navarro pelo projeto, excelente!, 5 estrelas.

JMSilva

Caraguatatuba/SP

 

 

Esta rotina mapeia algum driver como o DropBox ou faz diferente ?

Caso não crie uma pasta via Windows seria uma saída pra tentarmos fugir do tal vírus HansomWare

 

Link to comment
Share on other sites

He comprobado todos los metodos

Mira el ejemplo GDrive.prg, permite seleccionar la carpeta de destino tambien

 

         oDrive:ListFiles()

         XBrowse( oDrive:aFilesLists )
         //

        o

         oDrive:ListOnlyFiles()
         XBrowse( oDrive:aFilesLists )
         //

         o 
         oDrive:ListRootFiles()

         XBrowse( oDrive:aFilesLists )

         o
         oDrive:ListOnlyFolders()
         XBrowse( oDrive:aFilesLists )

Link to comment
Share on other sites

 

En la nueva version puedes seleccionar varios ficheros ( CTRL, o SHIFT con el ratón )

Intenta con ListAllFiles() y me comentas si funciona

Sim funcionou corretamente, tanto a seleção quanto o upload dos arquivos. Também funcionou corretamente a pasta de destino.

 

Link to comment
Share on other sites

  • 3 weeks later...

CNavarro, está excelente a classe TGDrive, segue abaixo os testes que fiz:

            oDrive:ListFiles()  //não funcionou
            XBrowse( oDrive:aFilesLists )

            oDrive:ListOnlyFiles()  //não funcionou
            XBrowse( oDrive:aFilesLists )

            oDrive:ListRootFiles() //funcionou
            XBrowse( oDrive:aFilesLists )

            oDrive:ListOnlyFolders()  //funcionou
            XBrowse( oDrive:aFilesLists )
            

Obrigado!

JMSilva

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...