Sample code for 30+ languages & platforms
Pascal (Lazarus/Delphi)

Get Current User Information

See more Facebook Examples

Demonstrates how to retrieve information about the current Facebook user. This is the most basic thing to get working first (after obtaining an access token).

Chilkat Pascal (Lazarus/Delphi) Downloads

Pascal (Lazarus/Delphi)
program ChilkatDemo;

// Demonstrates using the Chilkat Pascal wrapper via the C bridge DLL.
// Builds as a console application under Lazarus (FPC) or Delphi.

{$IFDEF FPC}
  {$MODE DELPHI}
{$ENDIF}
{$APPTYPE CONSOLE}

uses
  {$IFDEF UNIX}
  cthreads,
  {$ENDIF}
  SysUtils,
  CkDllLoader,
  Chilkat.Rest,
  Chilkat.OAuth2;

// ---------------------------------------------------------------------------

procedure RunDemo;
var
  success: Boolean;
  oauth2: TOAuth2;
  rest: TRest;
  bAutoReconnect: Boolean;
  responseJson: string;

begin
  success := False;

  //  This example requires the Chilkat API to have been previously unlocked.
  //  See Global Unlock Sample for sample code.

  //  This example assumes we previously obtained an access token
  oauth2 := TOAuth2.Create;
  oauth2.AccessToken := 'FACEBOOK-ACCESS-TOKEN';

  rest := TRest.Create;

  //  Connect to Facebook and send the following GET request:

  //  GET /v2.7/me HTTP/1.1
  //  Host: graph.facebook.com
  bAutoReconnect := True;
  success := rest.Connect('graph.facebook.com',443,True,bAutoReconnect);
  if (success <> True) then
    begin
      WriteLn(rest.LastErrorText);
      Exit;
    end;

  //  Provide the authentication credentials (i.e. the access key)
  rest.SetAuthOAuth2(oauth2);

  responseJson := rest.FullRequestNoBody('GET','/v2.7/me');
  if (rest.LastMethodSuccess <> True) then
    begin
      WriteLn(rest.LastErrorText);
      Exit;
    end;

  WriteLn(responseJson);

  //  The responseJson looks like this:
  //  {"name":"John Doe","id":"10111011320111110"}


  oauth2.Free;
  rest.Free;

end;

// ---------------------------------------------------------------------------

begin

  try
    RunDemo;
  except
    on E: Exception do
      WriteLn('Unhandled exception: ', E.ClassName, ': ', E.Message);
  end;

  WriteLn;
  {$IFDEF MSWINDOWS}
  WriteLn('Press Enter to exit...');
  ReadLn;
  {$ENDIF}
end.