Page 4 of 9
Re: Google APIS Lib for Fivewin
Posted: Wed Feb 14, 2018 6:11 pm
by cnavarro
Read documentarion ( powerpoint presentation of Austria ) or PDF document
https://bitbucket.org/fivetech/harbour_ ... o_REST.pdf( pages 45 and 46 )
Re: Google APIS Lib for Fivewin
Posted: Wed Feb 14, 2018 6:14 pm
by Silvio.Falconi
ok i create the file client_id.json from my My Project-2db95ee820d0.json
run gcalndar.exe
but I see nothing
Re: Google APIS Lib for Fivewin
Posted: Wed Feb 14, 2018 6:23 pm
by cnavarro
Modify prg
Code: Select all | Expand
Function CalendList()
local oCalendList
local lSw := .F.
oCalendList := TGCalendarList():New()
lSw := oCalendList:Activate()
if lSw
? "Activado"
oCalendList:ListCalendars()
XBrowse( oCalendList:aCalendList )
else
? oCalend:cError
endif
Return nil
//----------------------------------------------------------------------------//
Re: Google APIS Lib for Fivewin
Posted: Wed Feb 14, 2018 6:27 pm
by Silvio.Falconi
ok now it request
email and password google
then I saw a msginfo "activado "
and now I have a xbrowse
How I can insert it on calendar dbf ?
Re: Google APIS Lib for Fivewin
Posted: Wed Feb 14, 2018 6:31 pm
by cnavarro
Methods they do not use any rdd
Export array to dbf: FW_ArrayToDBF
If I created a dbf it would be a mistake
You have to understand that each user prefers a different structure of the dbf or prefers to export directly to fwmaria or any other rdd with a custom structure
Re: Google APIS Lib for Fivewin
Posted: Thu Feb 15, 2018 9:02 am
by Silvio.Falconi
ok Cris , My error was to create json from credential no Auth Now it is ok I can help Italian fwh User if they need the help for this
I tried also Gdrive and Gmail
for this two sample I not see nothing
How test the other classes ? thanks
Re: Google APIS Lib for Fivewin
Posted: Thu Feb 15, 2018 12:16 pm
by cnavarro
You added APIS for use this products to you project google console?
Re: Google APIS Lib for Fivewin
Posted: Thu Feb 15, 2018 1:01 pm
by Silvio.Falconi
I set all products
Re: Google APIS Lib for Fivewin
Posted: Thu Feb 15, 2018 7:58 pm
by cnavarro
And when you have added new APIS, you are download json file again and put this file in path of exe?
Re: Google APIS Lib for Fivewin
Posted: Thu Feb 15, 2018 10:47 pm
by Silvio.Falconi
Why i cannot use the same json i use fir gcalendar? It is the same Project
Re: Google APIS Lib for Fivewin
Posted: Thu Feb 15, 2018 10:54 pm
by cnavarro
you must use a single .json file updated for all products
Re: Google APIS Lib for Fivewin
Posted: Fri Feb 16, 2018 9:37 am
by Silvio.Falconi
I not understood
I downloaded a json file and I tried gcalendar Test and it run ok
I cannot use the same json file for nother service as gDrive or gmail ?
Re: Google APIS Lib for Fivewin
Posted: Fri Feb 16, 2018 9:49 am
by Silvio.Falconi
this morning I tried with gcalendar and I have this error after it askme the user/password of google and showed "activado" message
Application
===========
Path and name: C:\work\Prg\GOOGLE\gcalend.Exe (32 bits)
Size: 3,807,232 bytes
Compiler version: Harbour 3.2.0dev (r1712141320)
FiveWin version: FWH 17.12
C compiler version: Borland/Embarcadero C++ 7.3 (32-bit)
Windows version: 6.2, Build 9200
Time from start: 0 hours 1 mins 0 secs
Error occurred at: 16/02/2018, 10:47:57
Error description: Error BASE/1132 Bound error: array access
Args:
[ 1] = A { ... } length: 0
[ 2] = N 1
Stack Calls
===========
Called from: d:\fwh\fwhteam\source\internal\Tgevecal.prg => TGEVENTCALC:LISTEVENT( 275 )
Called from: gcalend.prg => EVENTLIST( 74 )
Called from: gcalend.prg => MAIN( 21 )
Re: Google APIS Lib for Fivewin
Posted: Fri Feb 16, 2018 9:53 am
by Silvio.Falconi
sorry I must activate the service on google I understood now
tried gcalendar I see the records I allready abilitate the service
tried gmail I see nothing ( only xbrowse and criptated strings) I allready abilitate the service
tried gdrive 0 and 1 I see the records I allready abilitate the service
Re: Google APIS Lib for Fivewin
Posted: Fri Feb 16, 2018 2:10 pm
by cnavarro
Silvio.Falconi wrote:tried gmail I see nothing ( only xbrowse and criptated strings) I allready abilitate the service
You see Id of thread and id of message
With Id of message, you can see all the properties of the message
Try with this sample
Code: Select all | Expand
//----------------------------------------------------------------------------//
//
// GGMAIL.PRG: sample use Class TGMail from TGGoogle
// Author: Cristobal Navarro ( C ) 20/11/2017 - 16/02/2018
//
//----------------------------------------------------------------------------//
#include "Fivewin.ch"
#include "Splitter.ch"
#include "colores.ch"
REQUEST HB_CODEPAGE_ESWIN
Static nLeftPos
Static oMail
Function Main()
local aMessages := Main1()
if !Empty( aMessages )
XbrwMail(,,,,, aMessages )
endif
Return nil
//----------------------------------------------------------------------------//
Function Main1()
local lSw := .F.
local aList := {}
HB_CDPSELECT( "ESWIN" )
oMail := TGMail():New()
// you can configure the name and path of the json file between New and Activate methods
// oMail:cJSonFile := ".\client_id.json"
lSw := oMail:Activate()
if lSw
//
oMail:SentMessages()
aList := AClone( oMail:aMessages )
//XBrowse( oMail:aMessages )
endif
Return aList //oMail:aMessages
//----------------------------------------------------------------------------//
Function XbrwMail( oWnd, nT, nL, nB, nR, aSource )
local lWnd := .F.
local oVSplitL
local oBrw
local oPnel1
local nTop
local nHeight
local aMsgs := {}
AEVal( aSource, { | a | AAdd( aMsgs, { a[ 1 ], a[ 2 ], "" } ) } )
oMail:GetMessage( aMsgs[ 1 ][ 1 ] )
nLeftPos := Min( 300, Int( GetSysMetrics( 0 ) / 5 ) )
if Empty( oWnd )
lWnd := .T.
DEFINE WINDOW oWnd ;
TITLE " - Google Mail - " + FWVERSION + " - " + hb_Compiler() ;
PIXEL COLOR CLR_BLUE, CLR_WHITE //STYLE WS_POPUP
endif
nTop := if( Empty( oWnd:oBar ), 0, oWnd:oBar:nBottom ) + 2
nHeight := if( Empty( oWnd:oMsgBar ), 32, oWnd:oMsgBar:nTop - 2 )
@ nTop, nLeftPos + 2 XBROWSE oBrw DATASOURCE aMsgs OF oWnd ;
SIZE GetSysMetrics( 0 ) - nLeftPos - 4, GetSysMetrics( 1 ) - nHeight ;
HEADERS "Thread", "Id", "Message" ;
COLUMNS 2, 1, 3 ;
PIXEL CELL LINES NOBORDER
WITH OBJECT oBrw
:l2007 := .F.
//:nMarqueeStyle := MARQSTYLE_DOTEDCELL
:nStretchCol := 3
:bClrHeader := { || { CLR_WHITE, CLR_GRAY } }
:bClrSelFocus := ;
:bClrSel := { || { CLR_BLACK, CLR_HGRAY } }
:lRecordSelector := .F.
:lHScroll := .F.
:nColDividerStyle := ;
:nRowDividerStyle := LINESTYLE_LIGHTGRAY
:nRowHeight := 87
WITH OBJECT :aCols[ 3 ]
:bClrStd := { || { CLR_BLUE, CLR_WHITE } }
:nDataStrAlign := 0
:bEditValue := { || oMail:GetMessage( oBrw:aRow[ 1 ] ), oMail:cMessage }
END
:CreateFromCode()
END
if lWnd
oPnel1 := TPanel():New( nTop + 2, 2, GetSysMetrics( 1 ) - nHeight, nLeftPos - 2, oWnd )
oPnel1:SetColor( CLR_WHITE, METRO_GRIS7 )
@ nTop, nLeftPos SPLITTER oVSplitL ;
VERTICAL ;
PREVIOUS CONTROLS oPnel1 ;
HINDS CONTROLS oBrw ;
LEFT MARGIN 0 ;
RIGHT MARGIN 80 ;
SIZE 1, GetSysMetrics( 1 ) - nHeight + 2 ;
COLOR CLR_HGRAY ; //oWnd:nClrPane ;
PIXEL OF oWnd
oVSplitL:lStatic := .T.
ACTIVATE WINDOW oWnd MAXIMIZED
endif
Return nil
//----------------------------------------------------------------------------//