Přejít na obsah


Fotka

Geoget - GC.API pro programatory

geoget

  • Pokud chcete vložit odpověď, přihlašte se
1 odpovědí na toto téma

#1 HaLuMa

HaLuMa

    Autor Geogetu

  • Members
  • PipPipPip
  • 14 534 příspěvků(y)

Publikováno 17 březen 2019 - 18:39

Přechod z GC.LIVE na nové GC.API není snadný. Nové API je pojato zcela jinak. Pokud tedy v pluginech pro Geoget pouzivate API, bude treba vas zasah!

 

Předeně, pokud voláte tyto funkce, jde jen o drobnosti:

  • GcLiveLogin
  • GcLiveGetLogs
  • GcLiveUpdateStatus
  • GcLiveUpdateListing
  • GcLiveUpdateListing2
  • GCLiveGetListing
  • GCLiveGetUserLogs
  • GCLiveUpdateUserLogs
  • GCLiveSelectBookmark
  • GCLiveAddToBookmark
  • GCLiveLoadBookmark
  • GCLiveImportBookmark
  • GCLiveGetBookmark

U logů API neposkytuje informace o datu napsání logu. Status ubírá LITE limit a bookmarky se nove identifikují pres ID a ne GUIDem.

 

Co zcela urcite nebude fungovat, je:

  • GCliveCall (docasne vraci chybu, pak zcela zmizi.)
  • GCLiveDoSearch

Abyste v pluginech mohli tyto zmeny efektivne zahrnout a pluginy se vam dokazaly prelozit, je zaveden novy DEFINE symbol GCAPI_1

 

Takze lze casti zavisleho kodu ohranicit podminenym prekladem, napriklad:

{$IFNDEF GCAPI_1}
//stary kod
{$ENDIF}
{$IFDEF GCAPI_1}
//novy kod
{$ENDIF}

Existuji i nove funkce, nahradou za zrusene, ale se zcela jinymi parametry:

function GCliveRest(ApiMethod, ApiUri, ApiData, ApiDataMime: string; var ApiResponse: string): integer;
function GCliveRestPaged(ApiMethod, ApiUri, ApiData, ApiDataMime: string; PageSize: integer; var ApiResponse: string): integer;
function GCLImportCachePaged(const value: string): integer;

Ale nez se pustite do programovani noveho API, je treba o nem neco vedet: https://api.groundsp...m/documentation
 

 

 


  • 0

#2 HaLuMa

HaLuMa

    Autor Geogetu

  • Members
  • PipPipPip
  • 14 534 příspěvků(y)

Publikováno 17 březen 2019 - 18:56

A protože se nově komunikuje pouze pomocí JSON (tedy už ne XML), zkusil jsem pro skripty vyrobit i jednoduchý JSON parser. Do uses si ve skriptu přidejte simplejson, a pak by vam mel byt k dispozici objekt:

type
  TSimpleJSon = class(TObject)
  private
    json: isuperobject;
  public
    constructor create;
    procedure Free;
    function ParseString(value: AnsiString): Boolean;
    function AsString(path: string): String;
    function AsInteger(path: string): int64;
    function AsDouble(path: string): double;
    function AsArraySize(path: string): integer;
  end;

Path je specifikace prvku v JSON. Neco jako:

'foo' // get a property
'foo.list' // get a property from an object
'foo[123]' // get an item array from an object

  • 0





Také označené jedním nebo více z těchto klíčových slov:geoget

1 uživatel(ů) prochází toto téma

0 uživatelů, 1 návštěvníků 0 anonymních uživatelů

Reklama