123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493 |
- unit googleacceleratedmobilepageurl;
- {$MODE objfpc}
- {$H+}
- interface
- uses sysutils, classes, googleservice, restbase, googlebase;
- type
-
- //Top-level schema types
- TAmpUrl = Class;
- TAmpUrlError = Class;
- TBatchGetAmpUrlsRequest = Class;
- TBatchGetAmpUrlsResponse = Class;
- TAmpUrlArray = Array of TAmpUrl;
- TAmpUrlErrorArray = Array of TAmpUrlError;
- TBatchGetAmpUrlsRequestArray = Array of TBatchGetAmpUrlsRequest;
- TBatchGetAmpUrlsResponseArray = Array of TBatchGetAmpUrlsResponse;
- //Anonymous types, using auto-generated names
- TBatchGetAmpUrlsResponseTypeurlErrorsArray = Array of TAmpUrlError;
- TBatchGetAmpUrlsResponseTypeampUrlsArray = Array of TAmpUrl;
-
- { --------------------------------------------------------------------
- TAmpUrl
- --------------------------------------------------------------------}
-
- TAmpUrl = Class(TGoogleBaseObject)
- Private
- FampUrl : String;
- ForiginalUrl : String;
- FcdnAmpUrl : String;
- Protected
- //Property setters
- Procedure SetampUrl(AIndex : Integer; const AValue : String); virtual;
- Procedure SetoriginalUrl(AIndex : Integer; const AValue : String); virtual;
- Procedure SetcdnAmpUrl(AIndex : Integer; const AValue : String); virtual;
- Public
- Published
- Property ampUrl : String Index 0 Read FampUrl Write SetampUrl;
- Property originalUrl : String Index 8 Read ForiginalUrl Write SetoriginalUrl;
- Property cdnAmpUrl : String Index 16 Read FcdnAmpUrl Write SetcdnAmpUrl;
- end;
- TAmpUrlClass = Class of TAmpUrl;
-
- { --------------------------------------------------------------------
- TAmpUrlError
- --------------------------------------------------------------------}
-
- TAmpUrlError = Class(TGoogleBaseObject)
- Private
- ForiginalUrl : String;
- FerrorCode : String;
- FerrorMessage : String;
- Protected
- //Property setters
- Procedure SetoriginalUrl(AIndex : Integer; const AValue : String); virtual;
- Procedure SeterrorCode(AIndex : Integer; const AValue : String); virtual;
- Procedure SeterrorMessage(AIndex : Integer; const AValue : String); virtual;
- Public
- Published
- Property originalUrl : String Index 0 Read ForiginalUrl Write SetoriginalUrl;
- Property errorCode : String Index 8 Read FerrorCode Write SeterrorCode;
- Property errorMessage : String Index 16 Read FerrorMessage Write SeterrorMessage;
- end;
- TAmpUrlErrorClass = Class of TAmpUrlError;
-
- { --------------------------------------------------------------------
- TBatchGetAmpUrlsRequest
- --------------------------------------------------------------------}
-
- TBatchGetAmpUrlsRequest = Class(TGoogleBaseObject)
- Private
- Furls : TStringArray;
- Protected
- //Property setters
- Procedure Seturls(AIndex : Integer; const AValue : TStringArray); virtual;
- //2.6.4. bug workaround
- {$IFDEF VER2_6}
- Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
- {$ENDIF VER2_6}
- Public
- Published
- Property urls : TStringArray Index 0 Read Furls Write Seturls;
- end;
- TBatchGetAmpUrlsRequestClass = Class of TBatchGetAmpUrlsRequest;
-
- { --------------------------------------------------------------------
- TBatchGetAmpUrlsResponse
- --------------------------------------------------------------------}
-
- TBatchGetAmpUrlsResponse = Class(TGoogleBaseObject)
- Private
- FurlErrors : TBatchGetAmpUrlsResponseTypeurlErrorsArray;
- FampUrls : TBatchGetAmpUrlsResponseTypeampUrlsArray;
- Protected
- //Property setters
- Procedure SeturlErrors(AIndex : Integer; const AValue : TBatchGetAmpUrlsResponseTypeurlErrorsArray); virtual;
- Procedure SetampUrls(AIndex : Integer; const AValue : TBatchGetAmpUrlsResponseTypeampUrlsArray); virtual;
- //2.6.4. bug workaround
- {$IFDEF VER2_6}
- Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
- {$ENDIF VER2_6}
- Public
- Published
- Property urlErrors : TBatchGetAmpUrlsResponseTypeurlErrorsArray Index 0 Read FurlErrors Write SeturlErrors;
- Property ampUrls : TBatchGetAmpUrlsResponseTypeampUrlsArray Index 8 Read FampUrls Write SetampUrls;
- end;
- TBatchGetAmpUrlsResponseClass = Class of TBatchGetAmpUrlsResponse;
-
- { --------------------------------------------------------------------
- TAmpUrlsResource
- --------------------------------------------------------------------}
-
- TAmpUrlsResource = Class(TGoogleResource)
- Public
- Class Function ResourceName : String; override;
- Class Function DefaultAPI : TGoogleAPIClass; override;
- Function BatchGet(aBatchGetAmpUrlsRequest : TBatchGetAmpUrlsRequest) : TBatchGetAmpUrlsResponse;
- end;
-
-
- { --------------------------------------------------------------------
- TAcceleratedmobilepageurlAPI
- --------------------------------------------------------------------}
-
- TAcceleratedmobilepageurlAPI = Class(TGoogleAPI)
- Private
- FAmpUrlsInstance : TAmpUrlsResource;
- Function GetAmpUrlsInstance : TAmpUrlsResource;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 CreateAmpUrlsResource(AOwner : TComponent) : TAmpUrlsResource;virtual;overload;
- Function CreateAmpUrlsResource : TAmpUrlsResource;virtual;overload;
- //Add default on-demand instances for resources
- Property AmpUrlsResource : TAmpUrlsResource Read GetAmpUrlsInstance;
- end;
- implementation
- { --------------------------------------------------------------------
- TAmpUrl
- --------------------------------------------------------------------}
- Procedure TAmpUrl.SetampUrl(AIndex : Integer; const AValue : String);
- begin
- If (FampUrl=AValue) then exit;
- FampUrl:=AValue;
- MarkPropertyChanged(AIndex);
- end;
- Procedure TAmpUrl.SetoriginalUrl(AIndex : Integer; const AValue : String);
- begin
- If (ForiginalUrl=AValue) then exit;
- ForiginalUrl:=AValue;
- MarkPropertyChanged(AIndex);
- end;
- Procedure TAmpUrl.SetcdnAmpUrl(AIndex : Integer; const AValue : String);
- begin
- If (FcdnAmpUrl=AValue) then exit;
- FcdnAmpUrl:=AValue;
- MarkPropertyChanged(AIndex);
- end;
- { --------------------------------------------------------------------
- TAmpUrlError
- --------------------------------------------------------------------}
- Procedure TAmpUrlError.SetoriginalUrl(AIndex : Integer; const AValue : String);
- begin
- If (ForiginalUrl=AValue) then exit;
- ForiginalUrl:=AValue;
- MarkPropertyChanged(AIndex);
- end;
- Procedure TAmpUrlError.SeterrorCode(AIndex : Integer; const AValue : String);
- begin
- If (FerrorCode=AValue) then exit;
- FerrorCode:=AValue;
- MarkPropertyChanged(AIndex);
- end;
- Procedure TAmpUrlError.SeterrorMessage(AIndex : Integer; const AValue : String);
- begin
- If (FerrorMessage=AValue) then exit;
- FerrorMessage:=AValue;
- MarkPropertyChanged(AIndex);
- end;
- { --------------------------------------------------------------------
- TBatchGetAmpUrlsRequest
- --------------------------------------------------------------------}
- Procedure TBatchGetAmpUrlsRequest.Seturls(AIndex : Integer; const AValue : TStringArray);
- begin
- If (Furls=AValue) then exit;
- Furls:=AValue;
- MarkPropertyChanged(AIndex);
- end;
- //2.6.4. bug workaround
- {$IFDEF VER2_6}
- Procedure TBatchGetAmpUrlsRequest.SetArrayLength(Const AName : String; ALength : Longint);
- begin
- Case AName of
- 'urls' : SetLength(Furls,ALength);
- else
- Inherited SetArrayLength(AName,ALength);
- end;
- end;
- {$ENDIF VER2_6}
- { --------------------------------------------------------------------
- TBatchGetAmpUrlsResponse
- --------------------------------------------------------------------}
- Procedure TBatchGetAmpUrlsResponse.SeturlErrors(AIndex : Integer; const AValue : TBatchGetAmpUrlsResponseTypeurlErrorsArray);
- begin
- If (FurlErrors=AValue) then exit;
- FurlErrors:=AValue;
- MarkPropertyChanged(AIndex);
- end;
- Procedure TBatchGetAmpUrlsResponse.SetampUrls(AIndex : Integer; const AValue : TBatchGetAmpUrlsResponseTypeampUrlsArray);
- begin
- If (FampUrls=AValue) then exit;
- FampUrls:=AValue;
- MarkPropertyChanged(AIndex);
- end;
- //2.6.4. bug workaround
- {$IFDEF VER2_6}
- Procedure TBatchGetAmpUrlsResponse.SetArrayLength(Const AName : String; ALength : Longint);
- begin
- Case AName of
- 'urlerrors' : SetLength(FurlErrors,ALength);
- 'ampurls' : SetLength(FampUrls,ALength);
- else
- Inherited SetArrayLength(AName,ALength);
- end;
- end;
- {$ENDIF VER2_6}
- { --------------------------------------------------------------------
- TAmpUrlsResource
- --------------------------------------------------------------------}
- Class Function TAmpUrlsResource.ResourceName : String;
- begin
- Result:='ampUrls';
- end;
- Class Function TAmpUrlsResource.DefaultAPI : TGoogleAPIClass;
- begin
- Result:=TacceleratedmobilepageurlAPI;
- end;
- Function TAmpUrlsResource.BatchGet(aBatchGetAmpUrlsRequest : TBatchGetAmpUrlsRequest) : TBatchGetAmpUrlsResponse;
- Const
- _HTTPMethod = 'POST';
- _Path = 'v1/ampUrls:batchGet';
- _Methodid = 'acceleratedmobilepageurl.ampUrls.batchGet';
- begin
- Result:=ServiceCall(_HTTPMethod,_Path,'',aBatchGetAmpUrlsRequest,TBatchGetAmpUrlsResponse) as TBatchGetAmpUrlsResponse;
- end;
- { --------------------------------------------------------------------
- TAcceleratedmobilepageurlAPI
- --------------------------------------------------------------------}
- Class Function TAcceleratedmobilepageurlAPI.APIName : String;
- begin
- Result:='acceleratedmobilepageurl';
- end;
- Class Function TAcceleratedmobilepageurlAPI.APIVersion : String;
- begin
- Result:='v1';
- end;
- Class Function TAcceleratedmobilepageurlAPI.APIRevision : String;
- begin
- Result:='20160518';
- end;
- Class Function TAcceleratedmobilepageurlAPI.APIID : String;
- begin
- Result:='acceleratedmobilepageurl:v1';
- end;
- Class Function TAcceleratedmobilepageurlAPI.APITitle : String;
- begin
- Result:='Accelerated Mobile Page (AMP) URL API';
- end;
- Class Function TAcceleratedmobilepageurlAPI.APIDescription : String;
- begin
- Result:='This API contains a single method, [batchGet](/amp/cache/reference/acceleratedmobilepageurl/rest/v1/ampUrls/batchGet). Call this method to retrieve the AMP URL (and equivalent AMP Cache URL) for given public URL(s). For more information, see [Link to AMP Content](/amp/cache/use-amp-url).';
- end;
- Class Function TAcceleratedmobilepageurlAPI.APIOwnerDomain : String;
- begin
- Result:='google.com';
- end;
- Class Function TAcceleratedmobilepageurlAPI.APIOwnerName : String;
- begin
- Result:='Google';
- end;
- Class Function TAcceleratedmobilepageurlAPI.APIIcon16 : String;
- begin
- Result:='http://www.google.com/images/icons/product/search-16.gif';
- end;
- Class Function TAcceleratedmobilepageurlAPI.APIIcon32 : String;
- begin
- Result:='http://www.google.com/images/icons/product/search-32.gif';
- end;
- Class Function TAcceleratedmobilepageurlAPI.APIdocumentationLink : String;
- begin
- Result:='https://developers.google.com/amp/cache/';
- end;
- Class Function TAcceleratedmobilepageurlAPI.APIrootUrl : string;
- begin
- Result:='https://acceleratedmobilepageurl.googleapis.com/';
- end;
- Class Function TAcceleratedmobilepageurlAPI.APIbasePath : string;
- begin
- Result:='';
- end;
- Class Function TAcceleratedmobilepageurlAPI.APIbaseURL : String;
- begin
- Result:='https://acceleratedmobilepageurl.googleapis.com/';
- end;
- Class Function TAcceleratedmobilepageurlAPI.APIProtocol : string;
- begin
- Result:='rest';
- end;
- Class Function TAcceleratedmobilepageurlAPI.APIservicePath : string;
- begin
- Result:='';
- end;
- Class Function TAcceleratedmobilepageurlAPI.APIbatchPath : String;
- begin
- Result:='batch';
- end;
- Class Function TAcceleratedmobilepageurlAPI.APIAuthScopes : TScopeInfoArray;
- begin
- SetLength(Result,0);
-
- end;
- Class Function TAcceleratedmobilepageurlAPI.APINeedsAuth : Boolean;
- begin
- Result:=False;
- end;
- Class Procedure TAcceleratedmobilepageurlAPI.RegisterAPIResources;
- begin
- TAmpUrl.RegisterObject;
- TAmpUrlError.RegisterObject;
- TBatchGetAmpUrlsRequest.RegisterObject;
- TBatchGetAmpUrlsResponse.RegisterObject;
- end;
- Function TAcceleratedmobilepageurlAPI.GetAmpUrlsInstance : TAmpUrlsResource;
- begin
- if (FAmpUrlsInstance=Nil) then
- FAmpUrlsInstance:=CreateAmpUrlsResource;
- Result:=FAmpUrlsInstance;
- end;
- Function TAcceleratedmobilepageurlAPI.CreateAmpUrlsResource : TAmpUrlsResource;
- begin
- Result:=CreateAmpUrlsResource(Self);
- end;
- Function TAcceleratedmobilepageurlAPI.CreateAmpUrlsResource(AOwner : TComponent) : TAmpUrlsResource;
- begin
- Result:=TAmpUrlsResource.Create(AOwner);
- Result.API:=Self.API;
- end;
- initialization
- TAcceleratedmobilepageurlAPI.RegisterAPI;
- end.
|