diff options
Diffstat (limited to 'packages/googleapi/src/googleyoutubeanalytics.pp')
-rw-r--r-- | packages/googleapi/src/googleyoutubeanalytics.pp | 1943 |
1 files changed, 1943 insertions, 0 deletions
diff --git a/packages/googleapi/src/googleyoutubeanalytics.pp b/packages/googleapi/src/googleyoutubeanalytics.pp new file mode 100644 index 0000000000..5c5d8f5cfd --- /dev/null +++ b/packages/googleapi/src/googleyoutubeanalytics.pp @@ -0,0 +1,1943 @@ +unit googleyoutubeAnalytics; +{$MODE objfpc} +{$H+} + +interface + +uses sysutils, classes, googleservice, restbase, googlebase; + +type + + //Top-level schema types + TBatchReport = Class; + TBatchReportDefinition = Class; + TBatchReportDefinitionList = Class; + TBatchReportList = Class; + TGroup = Class; + TGroupItem = Class; + TGroupItemListResponse = Class; + TGroupListResponse = Class; + TResultTable = Class; + TBatchReportArray = Array of TBatchReport; + TBatchReportDefinitionArray = Array of TBatchReportDefinition; + TBatchReportDefinitionListArray = Array of TBatchReportDefinitionList; + TBatchReportListArray = Array of TBatchReportList; + TGroupArray = Array of TGroup; + TGroupItemArray = Array of TGroupItem; + TGroupItemListResponseArray = Array of TGroupItemListResponse; + TGroupListResponseArray = Array of TGroupListResponse; + TResultTableArray = Array of TResultTable; + //Anonymous types, using auto-generated names + TBatchReportTypeoutputsItem = Class; + TBatchReportTypetimeSpan = Class; + TGroupTypecontentDetails = Class; + TGroupTypesnippet = Class; + TGroupItemTyperesource = Class; + TResultTableTypecolumnHeadersItem = Class; + TBatchReportTypeoutputsArray = Array of TBatchReportTypeoutputsItem; + TBatchReportDefinitionListTypeitemsArray = Array of TBatchReportDefinition; + TBatchReportListTypeitemsArray = Array of TBatchReport; + TGroupItemListResponseTypeitemsArray = Array of TGroupItem; + TGroupListResponseTypeitemsArray = Array of TGroup; + TResultTableTypecolumnHeadersArray = Array of TResultTableTypecolumnHeadersItem; + TResultTableTyperowsArray = Array of TTJSONSchemaArray; + + { -------------------------------------------------------------------- + TBatchReportTypeoutputsItem + --------------------------------------------------------------------} + + TBatchReportTypeoutputsItem = Class(TGoogleBaseObject) + Private + FdownloadUrl : String; + Fformat : String; + F_type : String; + Protected + Class Function ExportPropertyName(Const AName : String) : string; override; + //Property setters + Procedure SetdownloadUrl(AIndex : Integer; const AValue : String); virtual; + Procedure Setformat(AIndex : Integer; const AValue : String); virtual; + Procedure Set_type(AIndex : Integer; const AValue : String); virtual; + Public + Published + Property downloadUrl : String Index 0 Read FdownloadUrl Write SetdownloadUrl; + Property format : String Index 8 Read Fformat Write Setformat; + Property _type : String Index 16 Read F_type Write Set_type; + end; + TBatchReportTypeoutputsItemClass = Class of TBatchReportTypeoutputsItem; + + { -------------------------------------------------------------------- + TBatchReportTypetimeSpan + --------------------------------------------------------------------} + + TBatchReportTypetimeSpan = Class(TGoogleBaseObject) + Private + FendTime : TDatetime; + FstartTime : TDatetime; + Protected + //Property setters + Procedure SetendTime(AIndex : Integer; const AValue : TDatetime); virtual; + Procedure SetstartTime(AIndex : Integer; const AValue : TDatetime); virtual; + Public + Published + Property endTime : TDatetime Index 0 Read FendTime Write SetendTime; + Property startTime : TDatetime Index 8 Read FstartTime Write SetstartTime; + end; + TBatchReportTypetimeSpanClass = Class of TBatchReportTypetimeSpan; + + { -------------------------------------------------------------------- + TBatchReport + --------------------------------------------------------------------} + + TBatchReport = Class(TGoogleBaseObject) + Private + Fid : String; + Fkind : String; + Foutputs : TBatchReportTypeoutputsArray; + FreportId : String; + FtimeSpan : TBatchReportTypetimeSpan; + FtimeUpdated : TDatetime; + Protected + //Property setters + Procedure Setid(AIndex : Integer; const AValue : String); virtual; + Procedure Setkind(AIndex : Integer; const AValue : String); virtual; + Procedure Setoutputs(AIndex : Integer; const AValue : TBatchReportTypeoutputsArray); virtual; + Procedure SetreportId(AIndex : Integer; const AValue : String); virtual; + Procedure SettimeSpan(AIndex : Integer; const AValue : TBatchReportTypetimeSpan); virtual; + Procedure SettimeUpdated(AIndex : Integer; const AValue : TDatetime); virtual; + //2.6.4. bug workaround + {$IFDEF VER2_6} + Procedure SetArrayLength(Const AName : String; ALength : Longint); override; + {$ENDIF VER2_6} + Public + Published + Property id : String Index 0 Read Fid Write Setid; + Property kind : String Index 8 Read Fkind Write Setkind; + Property outputs : TBatchReportTypeoutputsArray Index 16 Read Foutputs Write Setoutputs; + Property reportId : String Index 24 Read FreportId Write SetreportId; + Property timeSpan : TBatchReportTypetimeSpan Index 32 Read FtimeSpan Write SettimeSpan; + Property timeUpdated : TDatetime Index 40 Read FtimeUpdated Write SettimeUpdated; + end; + TBatchReportClass = Class of TBatchReport; + + { -------------------------------------------------------------------- + TBatchReportDefinition + --------------------------------------------------------------------} + + TBatchReportDefinition = Class(TGoogleBaseObject) + Private + Fid : String; + Fkind : String; + Fname : String; + Fstatus : String; + F_type : String; + Protected + Class Function ExportPropertyName(Const AName : String) : string; override; + //Property setters + Procedure Setid(AIndex : Integer; const AValue : String); virtual; + Procedure Setkind(AIndex : Integer; const AValue : String); virtual; + Procedure Setname(AIndex : Integer; const AValue : String); virtual; + Procedure Setstatus(AIndex : Integer; const AValue : String); virtual; + Procedure Set_type(AIndex : Integer; const AValue : String); virtual; + Public + Published + Property id : String Index 0 Read Fid Write Setid; + Property kind : String Index 8 Read Fkind Write Setkind; + Property name : String Index 16 Read Fname Write Setname; + Property status : String Index 24 Read Fstatus Write Setstatus; + Property _type : String Index 32 Read F_type Write Set_type; + end; + TBatchReportDefinitionClass = Class of TBatchReportDefinition; + + { -------------------------------------------------------------------- + TBatchReportDefinitionList + --------------------------------------------------------------------} + + TBatchReportDefinitionList = Class(TGoogleBaseObject) + Private + Fitems : TBatchReportDefinitionListTypeitemsArray; + Fkind : String; + Protected + //Property setters + Procedure Setitems(AIndex : Integer; const AValue : TBatchReportDefinitionListTypeitemsArray); virtual; + Procedure Setkind(AIndex : Integer; const AValue : String); virtual; + //2.6.4. bug workaround + {$IFDEF VER2_6} + Procedure SetArrayLength(Const AName : String; ALength : Longint); override; + {$ENDIF VER2_6} + Public + Published + Property items : TBatchReportDefinitionListTypeitemsArray Index 0 Read Fitems Write Setitems; + Property kind : String Index 8 Read Fkind Write Setkind; + end; + TBatchReportDefinitionListClass = Class of TBatchReportDefinitionList; + + { -------------------------------------------------------------------- + TBatchReportList + --------------------------------------------------------------------} + + TBatchReportList = Class(TGoogleBaseObject) + Private + Fitems : TBatchReportListTypeitemsArray; + Fkind : String; + Protected + //Property setters + Procedure Setitems(AIndex : Integer; const AValue : TBatchReportListTypeitemsArray); virtual; + Procedure Setkind(AIndex : Integer; const AValue : String); virtual; + //2.6.4. bug workaround + {$IFDEF VER2_6} + Procedure SetArrayLength(Const AName : String; ALength : Longint); override; + {$ENDIF VER2_6} + Public + Published + Property items : TBatchReportListTypeitemsArray Index 0 Read Fitems Write Setitems; + Property kind : String Index 8 Read Fkind Write Setkind; + end; + TBatchReportListClass = Class of TBatchReportList; + + { -------------------------------------------------------------------- + TGroupTypecontentDetails + --------------------------------------------------------------------} + + TGroupTypecontentDetails = Class(TGoogleBaseObject) + Private + FitemCount : String; + FitemType : String; + Protected + //Property setters + Procedure SetitemCount(AIndex : Integer; const AValue : String); virtual; + Procedure SetitemType(AIndex : Integer; const AValue : String); virtual; + Public + Published + Property itemCount : String Index 0 Read FitemCount Write SetitemCount; + Property itemType : String Index 8 Read FitemType Write SetitemType; + end; + TGroupTypecontentDetailsClass = Class of TGroupTypecontentDetails; + + { -------------------------------------------------------------------- + TGroupTypesnippet + --------------------------------------------------------------------} + + TGroupTypesnippet = Class(TGoogleBaseObject) + Private + FpublishedAt : TDatetime; + Ftitle : String; + Protected + //Property setters + Procedure SetpublishedAt(AIndex : Integer; const AValue : TDatetime); virtual; + Procedure Settitle(AIndex : Integer; const AValue : String); virtual; + Public + Published + Property publishedAt : TDatetime Index 0 Read FpublishedAt Write SetpublishedAt; + Property title : String Index 8 Read Ftitle Write Settitle; + end; + TGroupTypesnippetClass = Class of TGroupTypesnippet; + + { -------------------------------------------------------------------- + TGroup + --------------------------------------------------------------------} + + TGroup = Class(TGoogleBaseObject) + Private + FcontentDetails : TGroupTypecontentDetails; + Fetag : String; + Fid : String; + Fkind : String; + Fsnippet : TGroupTypesnippet; + Protected + //Property setters + Procedure SetcontentDetails(AIndex : Integer; const AValue : TGroupTypecontentDetails); virtual; + Procedure Setetag(AIndex : Integer; const AValue : String); virtual; + Procedure Setid(AIndex : Integer; const AValue : String); virtual; + Procedure Setkind(AIndex : Integer; const AValue : String); virtual; + Procedure Setsnippet(AIndex : Integer; const AValue : TGroupTypesnippet); virtual; + Public + Published + Property contentDetails : TGroupTypecontentDetails Index 0 Read FcontentDetails Write SetcontentDetails; + Property etag : String Index 8 Read Fetag Write Setetag; + Property id : String Index 16 Read Fid Write Setid; + Property kind : String Index 24 Read Fkind Write Setkind; + Property snippet : TGroupTypesnippet Index 32 Read Fsnippet Write Setsnippet; + end; + TGroupClass = Class of TGroup; + + { -------------------------------------------------------------------- + TGroupItemTyperesource + --------------------------------------------------------------------} + + TGroupItemTyperesource = Class(TGoogleBaseObject) + Private + Fid : String; + Fkind : String; + Protected + //Property setters + Procedure Setid(AIndex : Integer; const AValue : String); virtual; + Procedure Setkind(AIndex : Integer; const AValue : String); virtual; + Public + Published + Property id : String Index 0 Read Fid Write Setid; + Property kind : String Index 8 Read Fkind Write Setkind; + end; + TGroupItemTyperesourceClass = Class of TGroupItemTyperesource; + + { -------------------------------------------------------------------- + TGroupItem + --------------------------------------------------------------------} + + TGroupItem = Class(TGoogleBaseObject) + Private + Fetag : String; + FgroupId : String; + Fid : String; + Fkind : String; + Fresource : TGroupItemTyperesource; + Protected + //Property setters + Procedure Setetag(AIndex : Integer; const AValue : String); virtual; + Procedure SetgroupId(AIndex : Integer; const AValue : String); virtual; + Procedure Setid(AIndex : Integer; const AValue : String); virtual; + Procedure Setkind(AIndex : Integer; const AValue : String); virtual; + Procedure Setresource(AIndex : Integer; const AValue : TGroupItemTyperesource); virtual; + Public + Published + Property etag : String Index 0 Read Fetag Write Setetag; + Property groupId : String Index 8 Read FgroupId Write SetgroupId; + Property id : String Index 16 Read Fid Write Setid; + Property kind : String Index 24 Read Fkind Write Setkind; + Property resource : TGroupItemTyperesource Index 32 Read Fresource Write Setresource; + end; + TGroupItemClass = Class of TGroupItem; + + { -------------------------------------------------------------------- + TGroupItemListResponse + --------------------------------------------------------------------} + + TGroupItemListResponse = Class(TGoogleBaseObject) + Private + Fetag : String; + Fitems : TGroupItemListResponseTypeitemsArray; + Fkind : String; + Protected + //Property setters + Procedure Setetag(AIndex : Integer; const AValue : String); virtual; + Procedure Setitems(AIndex : Integer; const AValue : TGroupItemListResponseTypeitemsArray); virtual; + Procedure Setkind(AIndex : Integer; const AValue : String); virtual; + //2.6.4. bug workaround + {$IFDEF VER2_6} + Procedure SetArrayLength(Const AName : String; ALength : Longint); override; + {$ENDIF VER2_6} + Public + Published + Property etag : String Index 0 Read Fetag Write Setetag; + Property items : TGroupItemListResponseTypeitemsArray Index 8 Read Fitems Write Setitems; + Property kind : String Index 16 Read Fkind Write Setkind; + end; + TGroupItemListResponseClass = Class of TGroupItemListResponse; + + { -------------------------------------------------------------------- + TGroupListResponse + --------------------------------------------------------------------} + + TGroupListResponse = Class(TGoogleBaseObject) + Private + Fetag : String; + Fitems : TGroupListResponseTypeitemsArray; + Fkind : String; + FnextPageToken : String; + Protected + //Property setters + Procedure Setetag(AIndex : Integer; const AValue : String); virtual; + Procedure Setitems(AIndex : Integer; const AValue : TGroupListResponseTypeitemsArray); virtual; + Procedure Setkind(AIndex : Integer; const AValue : String); virtual; + Procedure SetnextPageToken(AIndex : Integer; const AValue : String); virtual; + //2.6.4. bug workaround + {$IFDEF VER2_6} + Procedure SetArrayLength(Const AName : String; ALength : Longint); override; + {$ENDIF VER2_6} + Public + Published + Property etag : String Index 0 Read Fetag Write Setetag; + Property items : TGroupListResponseTypeitemsArray Index 8 Read Fitems Write Setitems; + Property kind : String Index 16 Read Fkind Write Setkind; + Property nextPageToken : String Index 24 Read FnextPageToken Write SetnextPageToken; + end; + TGroupListResponseClass = Class of TGroupListResponse; + + { -------------------------------------------------------------------- + TResultTableTypecolumnHeadersItem + --------------------------------------------------------------------} + + TResultTableTypecolumnHeadersItem = Class(TGoogleBaseObject) + Private + FcolumnType : String; + FdataType : String; + Fname : String; + Protected + //Property setters + Procedure SetcolumnType(AIndex : Integer; const AValue : String); virtual; + Procedure SetdataType(AIndex : Integer; const AValue : String); virtual; + Procedure Setname(AIndex : Integer; const AValue : String); virtual; + Public + Published + Property columnType : String Index 0 Read FcolumnType Write SetcolumnType; + Property dataType : String Index 8 Read FdataType Write SetdataType; + Property name : String Index 16 Read Fname Write Setname; + end; + TResultTableTypecolumnHeadersItemClass = Class of TResultTableTypecolumnHeadersItem; + + { -------------------------------------------------------------------- + TResultTable + --------------------------------------------------------------------} + + TResultTable = Class(TGoogleBaseObject) + Private + FcolumnHeaders : TResultTableTypecolumnHeadersArray; + Fkind : String; + Frows : TResultTableTyperowsArray; + Protected + //Property setters + Procedure SetcolumnHeaders(AIndex : Integer; const AValue : TResultTableTypecolumnHeadersArray); virtual; + Procedure Setkind(AIndex : Integer; const AValue : String); virtual; + Procedure Setrows(AIndex : Integer; const AValue : TResultTableTyperowsArray); virtual; + //2.6.4. bug workaround + {$IFDEF VER2_6} + Procedure SetArrayLength(Const AName : String; ALength : Longint); override; + {$ENDIF VER2_6} + Public + Published + Property columnHeaders : TResultTableTypecolumnHeadersArray Index 0 Read FcolumnHeaders Write SetcolumnHeaders; + Property kind : String Index 8 Read Fkind Write Setkind; + Property rows : TResultTableTyperowsArray Index 16 Read Frows Write Setrows; + end; + TResultTableClass = Class of TResultTable; + + { -------------------------------------------------------------------- + TBatchReportDefinitionsResource + --------------------------------------------------------------------} + + + //Optional query Options for TBatchReportDefinitionsResource, method List + + TBatchReportDefinitionsListOptions = Record + onBehalfOfContentOwner : String; + end; + + TBatchReportDefinitionsResource = Class(TGoogleResource) + Public + Class Function ResourceName : String; override; + Class Function DefaultAPI : TGoogleAPIClass; override; + Function List(AQuery : string = '') : TBatchReportDefinitionList; + Function List(AQuery : TBatchReportDefinitionslistOptions) : TBatchReportDefinitionList; + end; + + + { -------------------------------------------------------------------- + TBatchReportsResource + --------------------------------------------------------------------} + + + //Optional query Options for TBatchReportsResource, method List + + TBatchReportsListOptions = Record + batchReportDefinitionId : String; + onBehalfOfContentOwner : String; + end; + + TBatchReportsResource = Class(TGoogleResource) + Public + Class Function ResourceName : String; override; + Class Function DefaultAPI : TGoogleAPIClass; override; + Function List(AQuery : string = '') : TBatchReportList; + Function List(AQuery : TBatchReportslistOptions) : TBatchReportList; + end; + + + { -------------------------------------------------------------------- + TGroupItemsResource + --------------------------------------------------------------------} + + + //Optional query Options for TGroupItemsResource, method Delete + + TGroupItemsDeleteOptions = Record + id : String; + onBehalfOfContentOwner : String; + end; + + + //Optional query Options for TGroupItemsResource, method Insert + + TGroupItemsInsertOptions = Record + onBehalfOfContentOwner : String; + end; + + + //Optional query Options for TGroupItemsResource, method List + + TGroupItemsListOptions = Record + groupId : String; + onBehalfOfContentOwner : String; + end; + + TGroupItemsResource = Class(TGoogleResource) + Public + Class Function ResourceName : String; override; + Class Function DefaultAPI : TGoogleAPIClass; override; + Procedure Delete(AQuery : string = ''); + Procedure Delete(AQuery : TGroupItemsdeleteOptions); + Function Insert(aGroupItem : TGroupItem; AQuery : string = '') : TGroupItem; + Function Insert(aGroupItem : TGroupItem; AQuery : TGroupItemsinsertOptions) : TGroupItem; + Function List(AQuery : string = '') : TGroupItemListResponse; + Function List(AQuery : TGroupItemslistOptions) : TGroupItemListResponse; + end; + + + { -------------------------------------------------------------------- + TGroupsResource + --------------------------------------------------------------------} + + + //Optional query Options for TGroupsResource, method Delete + + TGroupsDeleteOptions = Record + id : String; + onBehalfOfContentOwner : String; + end; + + + //Optional query Options for TGroupsResource, method Insert + + TGroupsInsertOptions = Record + onBehalfOfContentOwner : String; + end; + + + //Optional query Options for TGroupsResource, method List + + TGroupsListOptions = Record + id : String; + mine : boolean; + onBehalfOfContentOwner : String; + pageToken : String; + end; + + + //Optional query Options for TGroupsResource, method Update + + TGroupsUpdateOptions = Record + onBehalfOfContentOwner : String; + end; + + TGroupsResource = Class(TGoogleResource) + Public + Class Function ResourceName : String; override; + Class Function DefaultAPI : TGoogleAPIClass; override; + Procedure Delete(AQuery : string = ''); + Procedure Delete(AQuery : TGroupsdeleteOptions); + Function Insert(aGroup : TGroup; AQuery : string = '') : TGroup; + Function Insert(aGroup : TGroup; AQuery : TGroupsinsertOptions) : TGroup; + Function List(AQuery : string = '') : TGroupListResponse; + Function List(AQuery : TGroupslistOptions) : TGroupListResponse; + Function Update(aGroup : TGroup; AQuery : string = '') : TGroup; + Function Update(aGroup : TGroup; AQuery : TGroupsupdateOptions) : TGroup; + end; + + + { -------------------------------------------------------------------- + TReportsResource + --------------------------------------------------------------------} + + + //Optional query Options for TReportsResource, method Query + + TReportsQueryOptions = Record + currency : String; + dimensions : String; + enddate : String; + filters : String; + ids : String; + maxresults : integer; + metrics : String; + sort : String; + startdate : String; + startindex : integer; + end; + + TReportsResource = Class(TGoogleResource) + Public + Class Function ResourceName : String; override; + Class Function DefaultAPI : TGoogleAPIClass; override; + Function Query(AQuery : string = '') : TResultTable; + Function Query(AQuery : TReportsqueryOptions) : TResultTable; + end; + + + { -------------------------------------------------------------------- + TYoutubeAnalyticsAPI + --------------------------------------------------------------------} + + TYoutubeAnalyticsAPI = Class(TGoogleAPI) + Private + FBatchReportDefinitionsInstance : TBatchReportDefinitionsResource; + FBatchReportsInstance : TBatchReportsResource; + FGroupItemsInstance : TGroupItemsResource; + FGroupsInstance : TGroupsResource; + FReportsInstance : TReportsResource; + Function GetBatchReportDefinitionsInstance : TBatchReportDefinitionsResource;virtual; + Function GetBatchReportsInstance : TBatchReportsResource;virtual; + Function GetGroupItemsInstance : TGroupItemsResource;virtual; + Function GetGroupsInstance : TGroupsResource;virtual; + Function GetReportsInstance : TReportsResource;virtual; + Public + //Override class functions with API info + Class Function APIName : String; override; + Class Function APIVersion : String; override; + Class Function APIRevision : String; override; + Class Function APIID : String; override; + Class Function APITitle : String; override; + Class Function APIDescription : String; override; + Class Function APIOwnerDomain : String; override; + Class Function APIOwnerName : String; override; + Class Function APIIcon16 : String; override; + Class Function APIIcon32 : String; override; + Class Function APIdocumentationLink : String; override; + Class Function APIrootUrl : string; override; + Class Function APIbasePath : string;override; + Class Function APIbaseURL : String;override; + Class Function APIProtocol : string;override; + Class Function APIservicePath : string;override; + Class Function APIbatchPath : String;override; + Class Function APIAuthScopes : TScopeInfoArray;override; + Class Function APINeedsAuth : Boolean;override; + Class Procedure RegisterAPIResources; override; + //Add create function for resources + Function CreateBatchReportDefinitionsResource(AOwner : TComponent) : TBatchReportDefinitionsResource;virtual;overload; + Function CreateBatchReportDefinitionsResource : TBatchReportDefinitionsResource;virtual;overload; + Function CreateBatchReportsResource(AOwner : TComponent) : TBatchReportsResource;virtual;overload; + Function CreateBatchReportsResource : TBatchReportsResource;virtual;overload; + Function CreateGroupItemsResource(AOwner : TComponent) : TGroupItemsResource;virtual;overload; + Function CreateGroupItemsResource : TGroupItemsResource;virtual;overload; + Function CreateGroupsResource(AOwner : TComponent) : TGroupsResource;virtual;overload; + Function CreateGroupsResource : TGroupsResource;virtual;overload; + Function CreateReportsResource(AOwner : TComponent) : TReportsResource;virtual;overload; + Function CreateReportsResource : TReportsResource;virtual;overload; + //Add default on-demand instances for resources + Property BatchReportDefinitionsResource : TBatchReportDefinitionsResource Read GetBatchReportDefinitionsInstance; + Property BatchReportsResource : TBatchReportsResource Read GetBatchReportsInstance; + Property GroupItemsResource : TGroupItemsResource Read GetGroupItemsInstance; + Property GroupsResource : TGroupsResource Read GetGroupsInstance; + Property ReportsResource : TReportsResource Read GetReportsInstance; + end; + +implementation + + +{ -------------------------------------------------------------------- + TBatchReportTypeoutputsItem + --------------------------------------------------------------------} + + +Procedure TBatchReportTypeoutputsItem.SetdownloadUrl(AIndex : Integer; const AValue : String); + +begin + If (FdownloadUrl=AValue) then exit; + FdownloadUrl:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TBatchReportTypeoutputsItem.Setformat(AIndex : Integer; const AValue : String); + +begin + If (Fformat=AValue) then exit; + Fformat:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TBatchReportTypeoutputsItem.Set_type(AIndex : Integer; const AValue : String); + +begin + If (F_type=AValue) then exit; + F_type:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Class Function TBatchReportTypeoutputsItem.ExportPropertyName(Const AName : String) :String; + +begin + Case AName of + '_type' : Result:='type'; + else + Result:=Inherited ExportPropertyName(AName); + end; +end; + + + + +{ -------------------------------------------------------------------- + TBatchReportTypetimeSpan + --------------------------------------------------------------------} + + +Procedure TBatchReportTypetimeSpan.SetendTime(AIndex : Integer; const AValue : TDatetime); + +begin + If (FendTime=AValue) then exit; + FendTime:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TBatchReportTypetimeSpan.SetstartTime(AIndex : Integer; const AValue : TDatetime); + +begin + If (FstartTime=AValue) then exit; + FstartTime:=AValue; + MarkPropertyChanged(AIndex); +end; + + + + + +{ -------------------------------------------------------------------- + TBatchReport + --------------------------------------------------------------------} + + +Procedure TBatchReport.Setid(AIndex : Integer; const AValue : String); + +begin + If (Fid=AValue) then exit; + Fid:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TBatchReport.Setkind(AIndex : Integer; const AValue : String); + +begin + If (Fkind=AValue) then exit; + Fkind:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TBatchReport.Setoutputs(AIndex : Integer; const AValue : TBatchReportTypeoutputsArray); + +begin + If (Foutputs=AValue) then exit; + Foutputs:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TBatchReport.SetreportId(AIndex : Integer; const AValue : String); + +begin + If (FreportId=AValue) then exit; + FreportId:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TBatchReport.SettimeSpan(AIndex : Integer; const AValue : TBatchReportTypetimeSpan); + +begin + If (FtimeSpan=AValue) then exit; + FtimeSpan:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TBatchReport.SettimeUpdated(AIndex : Integer; const AValue : TDatetime); + +begin + If (FtimeUpdated=AValue) then exit; + FtimeUpdated:=AValue; + MarkPropertyChanged(AIndex); +end; + + +//2.6.4. bug workaround +{$IFDEF VER2_6} +Procedure TBatchReport.SetArrayLength(Const AName : String; ALength : Longint); + +begin + Case AName of + 'outputs' : SetLength(Foutputs,ALength); + else + Inherited SetArrayLength(AName,ALength); + end; +end; +{$ENDIF VER2_6} + + + + +{ -------------------------------------------------------------------- + TBatchReportDefinition + --------------------------------------------------------------------} + + +Procedure TBatchReportDefinition.Setid(AIndex : Integer; const AValue : String); + +begin + If (Fid=AValue) then exit; + Fid:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TBatchReportDefinition.Setkind(AIndex : Integer; const AValue : String); + +begin + If (Fkind=AValue) then exit; + Fkind:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TBatchReportDefinition.Setname(AIndex : Integer; const AValue : String); + +begin + If (Fname=AValue) then exit; + Fname:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TBatchReportDefinition.Setstatus(AIndex : Integer; const AValue : String); + +begin + If (Fstatus=AValue) then exit; + Fstatus:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TBatchReportDefinition.Set_type(AIndex : Integer; const AValue : String); + +begin + If (F_type=AValue) then exit; + F_type:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Class Function TBatchReportDefinition.ExportPropertyName(Const AName : String) :String; + +begin + Case AName of + '_type' : Result:='type'; + else + Result:=Inherited ExportPropertyName(AName); + end; +end; + + + + +{ -------------------------------------------------------------------- + TBatchReportDefinitionList + --------------------------------------------------------------------} + + +Procedure TBatchReportDefinitionList.Setitems(AIndex : Integer; const AValue : TBatchReportDefinitionListTypeitemsArray); + +begin + If (Fitems=AValue) then exit; + Fitems:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TBatchReportDefinitionList.Setkind(AIndex : Integer; const AValue : String); + +begin + If (Fkind=AValue) then exit; + Fkind:=AValue; + MarkPropertyChanged(AIndex); +end; + + +//2.6.4. bug workaround +{$IFDEF VER2_6} +Procedure TBatchReportDefinitionList.SetArrayLength(Const AName : String; ALength : Longint); + +begin + Case AName of + 'items' : SetLength(Fitems,ALength); + else + Inherited SetArrayLength(AName,ALength); + end; +end; +{$ENDIF VER2_6} + + + + +{ -------------------------------------------------------------------- + TBatchReportList + --------------------------------------------------------------------} + + +Procedure TBatchReportList.Setitems(AIndex : Integer; const AValue : TBatchReportListTypeitemsArray); + +begin + If (Fitems=AValue) then exit; + Fitems:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TBatchReportList.Setkind(AIndex : Integer; const AValue : String); + +begin + If (Fkind=AValue) then exit; + Fkind:=AValue; + MarkPropertyChanged(AIndex); +end; + + +//2.6.4. bug workaround +{$IFDEF VER2_6} +Procedure TBatchReportList.SetArrayLength(Const AName : String; ALength : Longint); + +begin + Case AName of + 'items' : SetLength(Fitems,ALength); + else + Inherited SetArrayLength(AName,ALength); + end; +end; +{$ENDIF VER2_6} + + + + +{ -------------------------------------------------------------------- + TGroupTypecontentDetails + --------------------------------------------------------------------} + + +Procedure TGroupTypecontentDetails.SetitemCount(AIndex : Integer; const AValue : String); + +begin + If (FitemCount=AValue) then exit; + FitemCount:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TGroupTypecontentDetails.SetitemType(AIndex : Integer; const AValue : String); + +begin + If (FitemType=AValue) then exit; + FitemType:=AValue; + MarkPropertyChanged(AIndex); +end; + + + + + +{ -------------------------------------------------------------------- + TGroupTypesnippet + --------------------------------------------------------------------} + + +Procedure TGroupTypesnippet.SetpublishedAt(AIndex : Integer; const AValue : TDatetime); + +begin + If (FpublishedAt=AValue) then exit; + FpublishedAt:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TGroupTypesnippet.Settitle(AIndex : Integer; const AValue : String); + +begin + If (Ftitle=AValue) then exit; + Ftitle:=AValue; + MarkPropertyChanged(AIndex); +end; + + + + + +{ -------------------------------------------------------------------- + TGroup + --------------------------------------------------------------------} + + +Procedure TGroup.SetcontentDetails(AIndex : Integer; const AValue : TGroupTypecontentDetails); + +begin + If (FcontentDetails=AValue) then exit; + FcontentDetails:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TGroup.Setetag(AIndex : Integer; const AValue : String); + +begin + If (Fetag=AValue) then exit; + Fetag:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TGroup.Setid(AIndex : Integer; const AValue : String); + +begin + If (Fid=AValue) then exit; + Fid:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TGroup.Setkind(AIndex : Integer; const AValue : String); + +begin + If (Fkind=AValue) then exit; + Fkind:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TGroup.Setsnippet(AIndex : Integer; const AValue : TGroupTypesnippet); + +begin + If (Fsnippet=AValue) then exit; + Fsnippet:=AValue; + MarkPropertyChanged(AIndex); +end; + + + + + +{ -------------------------------------------------------------------- + TGroupItemTyperesource + --------------------------------------------------------------------} + + +Procedure TGroupItemTyperesource.Setid(AIndex : Integer; const AValue : String); + +begin + If (Fid=AValue) then exit; + Fid:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TGroupItemTyperesource.Setkind(AIndex : Integer; const AValue : String); + +begin + If (Fkind=AValue) then exit; + Fkind:=AValue; + MarkPropertyChanged(AIndex); +end; + + + + + +{ -------------------------------------------------------------------- + TGroupItem + --------------------------------------------------------------------} + + +Procedure TGroupItem.Setetag(AIndex : Integer; const AValue : String); + +begin + If (Fetag=AValue) then exit; + Fetag:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TGroupItem.SetgroupId(AIndex : Integer; const AValue : String); + +begin + If (FgroupId=AValue) then exit; + FgroupId:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TGroupItem.Setid(AIndex : Integer; const AValue : String); + +begin + If (Fid=AValue) then exit; + Fid:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TGroupItem.Setkind(AIndex : Integer; const AValue : String); + +begin + If (Fkind=AValue) then exit; + Fkind:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TGroupItem.Setresource(AIndex : Integer; const AValue : TGroupItemTyperesource); + +begin + If (Fresource=AValue) then exit; + Fresource:=AValue; + MarkPropertyChanged(AIndex); +end; + + + + + +{ -------------------------------------------------------------------- + TGroupItemListResponse + --------------------------------------------------------------------} + + +Procedure TGroupItemListResponse.Setetag(AIndex : Integer; const AValue : String); + +begin + If (Fetag=AValue) then exit; + Fetag:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TGroupItemListResponse.Setitems(AIndex : Integer; const AValue : TGroupItemListResponseTypeitemsArray); + +begin + If (Fitems=AValue) then exit; + Fitems:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TGroupItemListResponse.Setkind(AIndex : Integer; const AValue : String); + +begin + If (Fkind=AValue) then exit; + Fkind:=AValue; + MarkPropertyChanged(AIndex); +end; + + +//2.6.4. bug workaround +{$IFDEF VER2_6} +Procedure TGroupItemListResponse.SetArrayLength(Const AName : String; ALength : Longint); + +begin + Case AName of + 'items' : SetLength(Fitems,ALength); + else + Inherited SetArrayLength(AName,ALength); + end; +end; +{$ENDIF VER2_6} + + + + +{ -------------------------------------------------------------------- + TGroupListResponse + --------------------------------------------------------------------} + + +Procedure TGroupListResponse.Setetag(AIndex : Integer; const AValue : String); + +begin + If (Fetag=AValue) then exit; + Fetag:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TGroupListResponse.Setitems(AIndex : Integer; const AValue : TGroupListResponseTypeitemsArray); + +begin + If (Fitems=AValue) then exit; + Fitems:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TGroupListResponse.Setkind(AIndex : Integer; const AValue : String); + +begin + If (Fkind=AValue) then exit; + Fkind:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TGroupListResponse.SetnextPageToken(AIndex : Integer; const AValue : String); + +begin + If (FnextPageToken=AValue) then exit; + FnextPageToken:=AValue; + MarkPropertyChanged(AIndex); +end; + + +//2.6.4. bug workaround +{$IFDEF VER2_6} +Procedure TGroupListResponse.SetArrayLength(Const AName : String; ALength : Longint); + +begin + Case AName of + 'items' : SetLength(Fitems,ALength); + else + Inherited SetArrayLength(AName,ALength); + end; +end; +{$ENDIF VER2_6} + + + + +{ -------------------------------------------------------------------- + TResultTableTypecolumnHeadersItem + --------------------------------------------------------------------} + + +Procedure TResultTableTypecolumnHeadersItem.SetcolumnType(AIndex : Integer; const AValue : String); + +begin + If (FcolumnType=AValue) then exit; + FcolumnType:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TResultTableTypecolumnHeadersItem.SetdataType(AIndex : Integer; const AValue : String); + +begin + If (FdataType=AValue) then exit; + FdataType:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TResultTableTypecolumnHeadersItem.Setname(AIndex : Integer; const AValue : String); + +begin + If (Fname=AValue) then exit; + Fname:=AValue; + MarkPropertyChanged(AIndex); +end; + + + + + +{ -------------------------------------------------------------------- + TResultTable + --------------------------------------------------------------------} + + +Procedure TResultTable.SetcolumnHeaders(AIndex : Integer; const AValue : TResultTableTypecolumnHeadersArray); + +begin + If (FcolumnHeaders=AValue) then exit; + FcolumnHeaders:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TResultTable.Setkind(AIndex : Integer; const AValue : String); + +begin + If (Fkind=AValue) then exit; + Fkind:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TResultTable.Setrows(AIndex : Integer; const AValue : TResultTableTyperowsArray); + +begin + If (Frows=AValue) then exit; + Frows:=AValue; + MarkPropertyChanged(AIndex); +end; + + +//2.6.4. bug workaround +{$IFDEF VER2_6} +Procedure TResultTable.SetArrayLength(Const AName : String; ALength : Longint); + +begin + Case AName of + 'columnheaders' : SetLength(FcolumnHeaders,ALength); + 'rows' : SetLength(Frows,ALength); + else + Inherited SetArrayLength(AName,ALength); + end; +end; +{$ENDIF VER2_6} + + + + +{ -------------------------------------------------------------------- + TBatchReportDefinitionsResource + --------------------------------------------------------------------} + + +Class Function TBatchReportDefinitionsResource.ResourceName : String; + +begin + Result:='batchReportDefinitions'; +end; + +Class Function TBatchReportDefinitionsResource.DefaultAPI : TGoogleAPIClass; + +begin + Result:=TyoutubeAnalyticsAPI; +end; + +Function TBatchReportDefinitionsResource.List(AQuery : string = '') : TBatchReportDefinitionList; + +Const + _HTTPMethod = 'GET'; + _Path = 'batchReportDefinitions'; + _Methodid = 'youtubeAnalytics.batchReportDefinitions.list'; + +begin + Result:=ServiceCall(_HTTPMethod,_Path,AQuery,Nil,TBatchReportDefinitionList) as TBatchReportDefinitionList; +end; + + +Function TBatchReportDefinitionsResource.List(AQuery : TBatchReportDefinitionslistOptions) : TBatchReportDefinitionList; + +Var + _Q : String; + +begin + _Q:=''; + AddToQuery(_Q,'onBehalfOfContentOwner',AQuery.onBehalfOfContentOwner); + Result:=List(_Q); +end; + + + +{ -------------------------------------------------------------------- + TBatchReportsResource + --------------------------------------------------------------------} + + +Class Function TBatchReportsResource.ResourceName : String; + +begin + Result:='batchReports'; +end; + +Class Function TBatchReportsResource.DefaultAPI : TGoogleAPIClass; + +begin + Result:=TyoutubeAnalyticsAPI; +end; + +Function TBatchReportsResource.List(AQuery : string = '') : TBatchReportList; + +Const + _HTTPMethod = 'GET'; + _Path = 'batchReports'; + _Methodid = 'youtubeAnalytics.batchReports.list'; + +begin + Result:=ServiceCall(_HTTPMethod,_Path,AQuery,Nil,TBatchReportList) as TBatchReportList; +end; + + +Function TBatchReportsResource.List(AQuery : TBatchReportslistOptions) : TBatchReportList; + +Var + _Q : String; + +begin + _Q:=''; + AddToQuery(_Q,'batchReportDefinitionId',AQuery.batchReportDefinitionId); + AddToQuery(_Q,'onBehalfOfContentOwner',AQuery.onBehalfOfContentOwner); + Result:=List(_Q); +end; + + + +{ -------------------------------------------------------------------- + TGroupItemsResource + --------------------------------------------------------------------} + + +Class Function TGroupItemsResource.ResourceName : String; + +begin + Result:='groupItems'; +end; + +Class Function TGroupItemsResource.DefaultAPI : TGoogleAPIClass; + +begin + Result:=TyoutubeAnalyticsAPI; +end; + +Procedure TGroupItemsResource.Delete(AQuery : string = ''); + +Const + _HTTPMethod = 'DELETE'; + _Path = 'groupItems'; + _Methodid = 'youtubeAnalytics.groupItems.delete'; + +begin + ServiceCall(_HTTPMethod,_Path,AQuery,Nil,Nil); +end; + + +Procedure TGroupItemsResource.Delete(AQuery : TGroupItemsdeleteOptions); + +Var + _Q : String; + +begin + _Q:=''; + AddToQuery(_Q,'id',AQuery.id); + AddToQuery(_Q,'onBehalfOfContentOwner',AQuery.onBehalfOfContentOwner); + Delete(_Q); +end; + +Function TGroupItemsResource.Insert(aGroupItem : TGroupItem; AQuery : string = '') : TGroupItem; + +Const + _HTTPMethod = 'POST'; + _Path = 'groupItems'; + _Methodid = 'youtubeAnalytics.groupItems.insert'; + +begin + Result:=ServiceCall(_HTTPMethod,_Path,AQuery,aGroupItem,TGroupItem) as TGroupItem; +end; + + +Function TGroupItemsResource.Insert(aGroupItem : TGroupItem; AQuery : TGroupItemsinsertOptions) : TGroupItem; + +Var + _Q : String; + +begin + _Q:=''; + AddToQuery(_Q,'onBehalfOfContentOwner',AQuery.onBehalfOfContentOwner); + Result:=Insert(aGroupItem,_Q); +end; + +Function TGroupItemsResource.List(AQuery : string = '') : TGroupItemListResponse; + +Const + _HTTPMethod = 'GET'; + _Path = 'groupItems'; + _Methodid = 'youtubeAnalytics.groupItems.list'; + +begin + Result:=ServiceCall(_HTTPMethod,_Path,AQuery,Nil,TGroupItemListResponse) as TGroupItemListResponse; +end; + + +Function TGroupItemsResource.List(AQuery : TGroupItemslistOptions) : TGroupItemListResponse; + +Var + _Q : String; + +begin + _Q:=''; + AddToQuery(_Q,'groupId',AQuery.groupId); + AddToQuery(_Q,'onBehalfOfContentOwner',AQuery.onBehalfOfContentOwner); + Result:=List(_Q); +end; + + + +{ -------------------------------------------------------------------- + TGroupsResource + --------------------------------------------------------------------} + + +Class Function TGroupsResource.ResourceName : String; + +begin + Result:='groups'; +end; + +Class Function TGroupsResource.DefaultAPI : TGoogleAPIClass; + +begin + Result:=TyoutubeAnalyticsAPI; +end; + +Procedure TGroupsResource.Delete(AQuery : string = ''); + +Const + _HTTPMethod = 'DELETE'; + _Path = 'groups'; + _Methodid = 'youtubeAnalytics.groups.delete'; + +begin + ServiceCall(_HTTPMethod,_Path,AQuery,Nil,Nil); +end; + + +Procedure TGroupsResource.Delete(AQuery : TGroupsdeleteOptions); + +Var + _Q : String; + +begin + _Q:=''; + AddToQuery(_Q,'id',AQuery.id); + AddToQuery(_Q,'onBehalfOfContentOwner',AQuery.onBehalfOfContentOwner); + Delete(_Q); +end; + +Function TGroupsResource.Insert(aGroup : TGroup; AQuery : string = '') : TGroup; + +Const + _HTTPMethod = 'POST'; + _Path = 'groups'; + _Methodid = 'youtubeAnalytics.groups.insert'; + +begin + Result:=ServiceCall(_HTTPMethod,_Path,AQuery,aGroup,TGroup) as TGroup; +end; + + +Function TGroupsResource.Insert(aGroup : TGroup; AQuery : TGroupsinsertOptions) : TGroup; + +Var + _Q : String; + +begin + _Q:=''; + AddToQuery(_Q,'onBehalfOfContentOwner',AQuery.onBehalfOfContentOwner); + Result:=Insert(aGroup,_Q); +end; + +Function TGroupsResource.List(AQuery : string = '') : TGroupListResponse; + +Const + _HTTPMethod = 'GET'; + _Path = 'groups'; + _Methodid = 'youtubeAnalytics.groups.list'; + +begin + Result:=ServiceCall(_HTTPMethod,_Path,AQuery,Nil,TGroupListResponse) as TGroupListResponse; +end; + + +Function TGroupsResource.List(AQuery : TGroupslistOptions) : TGroupListResponse; + +Var + _Q : String; + +begin + _Q:=''; + AddToQuery(_Q,'id',AQuery.id); + AddToQuery(_Q,'mine',AQuery.mine); + AddToQuery(_Q,'onBehalfOfContentOwner',AQuery.onBehalfOfContentOwner); + AddToQuery(_Q,'pageToken',AQuery.pageToken); + Result:=List(_Q); +end; + +Function TGroupsResource.Update(aGroup : TGroup; AQuery : string = '') : TGroup; + +Const + _HTTPMethod = 'PUT'; + _Path = 'groups'; + _Methodid = 'youtubeAnalytics.groups.update'; + +begin + Result:=ServiceCall(_HTTPMethod,_Path,AQuery,aGroup,TGroup) as TGroup; +end; + + +Function TGroupsResource.Update(aGroup : TGroup; AQuery : TGroupsupdateOptions) : TGroup; + +Var + _Q : String; + +begin + _Q:=''; + AddToQuery(_Q,'onBehalfOfContentOwner',AQuery.onBehalfOfContentOwner); + Result:=Update(aGroup,_Q); +end; + + + +{ -------------------------------------------------------------------- + TReportsResource + --------------------------------------------------------------------} + + +Class Function TReportsResource.ResourceName : String; + +begin + Result:='reports'; +end; + +Class Function TReportsResource.DefaultAPI : TGoogleAPIClass; + +begin + Result:=TyoutubeAnalyticsAPI; +end; + +Function TReportsResource.Query(AQuery : string = '') : TResultTable; + +Const + _HTTPMethod = 'GET'; + _Path = 'reports'; + _Methodid = 'youtubeAnalytics.reports.query'; + +begin + Result:=ServiceCall(_HTTPMethod,_Path,AQuery,Nil,TResultTable) as TResultTable; +end; + + +Function TReportsResource.Query(AQuery : TReportsqueryOptions) : TResultTable; + +Var + _Q : String; + +begin + _Q:=''; + AddToQuery(_Q,'currency',AQuery.currency); + AddToQuery(_Q,'dimensions',AQuery.dimensions); + AddToQuery(_Q,'end-date',AQuery.enddate); + AddToQuery(_Q,'filters',AQuery.filters); + AddToQuery(_Q,'ids',AQuery.ids); + AddToQuery(_Q,'max-results',AQuery.maxresults); + AddToQuery(_Q,'metrics',AQuery.metrics); + AddToQuery(_Q,'sort',AQuery.sort); + AddToQuery(_Q,'start-date',AQuery.startdate); + AddToQuery(_Q,'start-index',AQuery.startindex); + Result:=Query(_Q); +end; + + + +{ -------------------------------------------------------------------- + TYoutubeAnalyticsAPI + --------------------------------------------------------------------} + +Class Function TYoutubeAnalyticsAPI.APIName : String; + +begin + Result:='youtubeAnalytics'; +end; + +Class Function TYoutubeAnalyticsAPI.APIVersion : String; + +begin + Result:='v1'; +end; + +Class Function TYoutubeAnalyticsAPI.APIRevision : String; + +begin + Result:='20160513'; +end; + +Class Function TYoutubeAnalyticsAPI.APIID : String; + +begin + Result:='youtubeAnalytics:v1'; +end; + +Class Function TYoutubeAnalyticsAPI.APITitle : String; + +begin + Result:='YouTube Analytics API'; +end; + +Class Function TYoutubeAnalyticsAPI.APIDescription : String; + +begin + Result:='Retrieves your YouTube Analytics data.'; +end; + +Class Function TYoutubeAnalyticsAPI.APIOwnerDomain : String; + +begin + Result:='google.com'; +end; + +Class Function TYoutubeAnalyticsAPI.APIOwnerName : String; + +begin + Result:='Google'; +end; + +Class Function TYoutubeAnalyticsAPI.APIIcon16 : String; + +begin + Result:='https://www.google.com/images/icons/product/youtube-16.png'; +end; + +Class Function TYoutubeAnalyticsAPI.APIIcon32 : String; + +begin + Result:='https://www.google.com/images/icons/product/youtube-32.png'; +end; + +Class Function TYoutubeAnalyticsAPI.APIdocumentationLink : String; + +begin + Result:='http://developers.google.com/youtube/analytics/'; +end; + +Class Function TYoutubeAnalyticsAPI.APIrootUrl : string; + +begin + Result:='https://www.googleapis.com/'; +end; + +Class Function TYoutubeAnalyticsAPI.APIbasePath : string; + +begin + Result:='/youtube/analytics/v1/'; +end; + +Class Function TYoutubeAnalyticsAPI.APIbaseURL : String; + +begin + Result:='https://www.googleapis.com/youtube/analytics/v1/'; +end; + +Class Function TYoutubeAnalyticsAPI.APIProtocol : string; + +begin + Result:='rest'; +end; + +Class Function TYoutubeAnalyticsAPI.APIservicePath : string; + +begin + Result:='youtube/analytics/v1/'; +end; + +Class Function TYoutubeAnalyticsAPI.APIbatchPath : String; + +begin + Result:='batch'; +end; + +Class Function TYoutubeAnalyticsAPI.APIAuthScopes : TScopeInfoArray; + +begin + SetLength(Result,5); + Result[0].Name:='https://www.googleapis.com/auth/youtube'; + Result[0].Description:='Manage your YouTube account'; + Result[1].Name:='https://www.googleapis.com/auth/youtube.readonly'; + Result[1].Description:='View your YouTube account'; + Result[2].Name:='https://www.googleapis.com/auth/youtubepartner'; + Result[2].Description:='View and manage your assets and associated content on YouTube'; + Result[3].Name:='https://www.googleapis.com/auth/yt-analytics-monetary.readonly'; + Result[3].Description:='View monetary and non-monetary YouTube Analytics reports for your YouTube content'; + Result[4].Name:='https://www.googleapis.com/auth/yt-analytics.readonly'; + Result[4].Description:='View YouTube Analytics reports for your YouTube content'; + +end; + +Class Function TYoutubeAnalyticsAPI.APINeedsAuth : Boolean; + +begin + Result:=True; +end; + +Class Procedure TYoutubeAnalyticsAPI.RegisterAPIResources; + +begin + TBatchReportTypeoutputsItem.RegisterObject; + TBatchReportTypetimeSpan.RegisterObject; + TBatchReport.RegisterObject; + TBatchReportDefinition.RegisterObject; + TBatchReportDefinitionList.RegisterObject; + TBatchReportList.RegisterObject; + TGroupTypecontentDetails.RegisterObject; + TGroupTypesnippet.RegisterObject; + TGroup.RegisterObject; + TGroupItemTyperesource.RegisterObject; + TGroupItem.RegisterObject; + TGroupItemListResponse.RegisterObject; + TGroupListResponse.RegisterObject; + TResultTableTypecolumnHeadersItem.RegisterObject; + TResultTable.RegisterObject; +end; + + +Function TYoutubeAnalyticsAPI.GetBatchReportDefinitionsInstance : TBatchReportDefinitionsResource; + +begin + if (FBatchReportDefinitionsInstance=Nil) then + FBatchReportDefinitionsInstance:=CreateBatchReportDefinitionsResource; + Result:=FBatchReportDefinitionsInstance; +end; + +Function TYoutubeAnalyticsAPI.CreateBatchReportDefinitionsResource : TBatchReportDefinitionsResource; + +begin + Result:=CreateBatchReportDefinitionsResource(Self); +end; + + +Function TYoutubeAnalyticsAPI.CreateBatchReportDefinitionsResource(AOwner : TComponent) : TBatchReportDefinitionsResource; + +begin + Result:=TBatchReportDefinitionsResource.Create(AOwner); + Result.API:=Self.API; +end; + + + +Function TYoutubeAnalyticsAPI.GetBatchReportsInstance : TBatchReportsResource; + +begin + if (FBatchReportsInstance=Nil) then + FBatchReportsInstance:=CreateBatchReportsResource; + Result:=FBatchReportsInstance; +end; + +Function TYoutubeAnalyticsAPI.CreateBatchReportsResource : TBatchReportsResource; + +begin + Result:=CreateBatchReportsResource(Self); +end; + + +Function TYoutubeAnalyticsAPI.CreateBatchReportsResource(AOwner : TComponent) : TBatchReportsResource; + +begin + Result:=TBatchReportsResource.Create(AOwner); + Result.API:=Self.API; +end; + + + +Function TYoutubeAnalyticsAPI.GetGroupItemsInstance : TGroupItemsResource; + +begin + if (FGroupItemsInstance=Nil) then + FGroupItemsInstance:=CreateGroupItemsResource; + Result:=FGroupItemsInstance; +end; + +Function TYoutubeAnalyticsAPI.CreateGroupItemsResource : TGroupItemsResource; + +begin + Result:=CreateGroupItemsResource(Self); +end; + + +Function TYoutubeAnalyticsAPI.CreateGroupItemsResource(AOwner : TComponent) : TGroupItemsResource; + +begin + Result:=TGroupItemsResource.Create(AOwner); + Result.API:=Self.API; +end; + + + +Function TYoutubeAnalyticsAPI.GetGroupsInstance : TGroupsResource; + +begin + if (FGroupsInstance=Nil) then + FGroupsInstance:=CreateGroupsResource; + Result:=FGroupsInstance; +end; + +Function TYoutubeAnalyticsAPI.CreateGroupsResource : TGroupsResource; + +begin + Result:=CreateGroupsResource(Self); +end; + + +Function TYoutubeAnalyticsAPI.CreateGroupsResource(AOwner : TComponent) : TGroupsResource; + +begin + Result:=TGroupsResource.Create(AOwner); + Result.API:=Self.API; +end; + + + +Function TYoutubeAnalyticsAPI.GetReportsInstance : TReportsResource; + +begin + if (FReportsInstance=Nil) then + FReportsInstance:=CreateReportsResource; + Result:=FReportsInstance; +end; + +Function TYoutubeAnalyticsAPI.CreateReportsResource : TReportsResource; + +begin + Result:=CreateReportsResource(Self); +end; + + +Function TYoutubeAnalyticsAPI.CreateReportsResource(AOwner : TComponent) : TReportsResource; + +begin + Result:=TReportsResource.Create(AOwner); + Result.API:=Self.API; +end; + + + +initialization + TYoutubeAnalyticsAPI.RegisterAPI; +end. |