This document is a working specification for FamilySearch's SDK development and delivery across programming languages.
FamilySearch targets the following core programming languages:
- PHP
- Java
| class FamilySearchController < ApplicationController | |
| before_filter :get_window | |
| around_filter :catch_authentication | |
| include FamilySearchApiHelper | |
| # Internal, only for Spec purposes. | |
| # get_client_test and serialize_test share behavior that will be | |
| # used accross other controller actions that inherit FamilySearchController | |
| def get_client_test | |
| if(params[:username] && params[:password]) |
| def catch_authentication | |
| yield | |
| rescue RubyFsStack::Unauthorized => e | |
| if e.message =~ /401\.23/ # Unauthorized | |
| serialize_request | |
| please_authenticate | |
| elsif e.message =~ /401\.1/ # Bad Credentials | |
| @message = "Invalid credentials. Please try again." | |
| please_authenticate | |
| else |
| # You have a 4 generation pedigree that you would like to extend | |
| # to a 7 generation pedigree. | |
| # | |
| # 8 9 10 11 12 13 14 15 | |
| # 4 5 6 7 | |
| # 2 3 | |
| # 1 | |
| # | |
| # If you take the person on the 4th generation and pull its pedigree, | |
| # you can merge the two pedigrees to create a new larger pedigree. |
| RootsDev | |
| https://github.com/rootsdev/roots-search (Chrome Plug-in / JavaScript) | |
| https://github.com/rootsdev/familysearch-javascript-sdk | |
| https://github.com/rootsdev/gofamilysearch (Go FamilySearch SDK) | |
| https://github.com/rootsdev/polygenea (Java and D, Collaborative Research-centric Data Model) | |
| https://github.com/rootsdev/familysearch-reference-client (JavaScript/Angular, Tree Client for FamilySearch API) | |
| https://github.com/rootsdev/genealogy-search (Chrome Extension) | |
| https://github.com/rootsdev/people-inspector (Chrome Extension - historical-data.org microdata reader) |
| <?php | |
| require 'vendor/autoload.php'; | |
| use FamilySearch\Client; | |
| $client = new FamilySearch\Client(array( | |
| 'redirectURI'=>'http://localhost:5000/familysearch-auth.php', | |
| 'clientId'=>'a0T3000000BfM3mEAF', | |
| 'collection_uri' => 'https://sandbox.familysearch.org/platform/collections' //default to the sandbox | |
| )); |
| apigenb generate -s gedcomx-php/src -d gedcomx-php-docs/docs --access-levels="public" --title="gedcomx-php" --template-config="../../ThemeBootstrap/src/config.neon" --download |
| <?php | |
| require 'vendor/autoload.php'; | |
| session_start(); | |
| use Gedcomx\Extensions\FamilySearch\Rs\Client\FamilyTree\FamilyTreeStateFactory; | |
| use Gedcomx\Rs\Client\Util\GedcomxPersonSearchQueryBuilder; | |
| use Gedcomx\Rs\Client\PersonSearchResultsState; | |
| use Gedcomx\Conclusion\Person; | |
| if(isset($_SESSION['fs_access_token'])){ | |
| $accessToken = $_SESSION['fs_access_token']; |
| <?php | |
| require 'vendor/autoload.php'; | |
| session_start(); | |
| use Gedcomx\Extensions\FamilySearch\Rs\Client\FamilyTree\FamilyTreeStateFactory; | |
| use Gedcomx\Rs\Client\Options\QueryParameter; | |
| use Gedcomx\Rs\Client\PersonState; | |
| use Gedcomx\Conclusion\Person; | |
| // $personId = "KW4V-6T4"; // John Hannon | |
| $personId = "KW4V-X9F"; //Jon Samsonite |
| <?php | |
| require __DIR__ . '/../../vendor/autoload.php'; | |
| include 'functions.php'; | |
| use Gedcomx\Extensions\FamilySearch\Rs\Client\FamilySearchClient; | |
| use Monolog\Logger; | |
| use Monolog\Handler\StreamHandler; | |
| session_start(); |