Repository URL to install this package:
|
Version:
3.2.0 ▾
|
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.