Sample code is often the easiest way to learn how to use an API. For links to Google Digital Asset Links samples, select a programming language below.
The samples use the Google API client libraries.
If a library's samples page does not yet include a sample for the Google Digital Asset Links, you can still use that library, and you might be able to adapt samples that are provided for a different Google API.
Python
Here is a simple Python example that lists all statements
made by a given website, then checks whether that site makes
the delegate_permission/common.handle_all_urls
statement
about a specific Android app.
#!/usr/bin/python import urllib def ListWeb(source_web_site, relation): return urllib.urlopen( 'https://digitalassetlinks.googleapis.com/v1/' 'statements:list?source.web.site=%s&relation=%s' % (urllib.quote(source_web_site, ''), urllib.quote(relation, ''))).read() def CheckWebToAndroid(source_web_site, relation, target_package_name, target_sha256_fingerprint): return urllib.urlopen( 'https://digitalassetlinks.googleapis.com/v1/' 'assetlinks:check?source.web.site=%s&relation=%s' '&target.android_app.package_name=%s' '&target.android_app.certificate.sha256_fingerprint=%s' '&key=API_KEY' % (urllib.quote(source_web_site, ''), urllib.quote(relation, ''), urllib.quote(target_package_name, ''), urllib.quote(target_sha256_fingerprint, ''))).read() def main(): print '================================== List() Output =======' print ListWeb('http://example.digitalassetlinks.org', 'delegate_permission/common.handle_all_urls') print '================================== Check() Output ======' print CheckWebToAndroid( 'http://example.digitalassetlinks.org', 'delegate_permission/common.handle_all_urls', 'org.digitalassetlinks.sampleapp', '10:39:38:EE:45:37:E5:9E:8E:E7:92:F6:54:50:4F:B8:34:6F:C6:B3:46:D0:BB:C4:41:5F:C3:39:FC:FC:8E:C1') if __name__ == '__main__': main()
JavaScript
Here is a simple JavaScript example that lets you list all statements made by a given website and also check for the presence of a given statement in that website.
<html> <head> <script type="text/javascript"> function executeRequest(request, outElement) { var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState == 4) { if (xmlhttp.status == 200) { outElement.value = xmlhttp.responseText; } else { outElement.value = "Error running request. Response: " + xmlhttp.responseText; } } }; xmlhttp.open('GET', 'https://digitalassetlinks.googleapis.com/v1/' + request, true); xmlhttp.send(); } function executeListRequest() { var sourceWebSite = encodeURIComponent( document.getElementById('list_source').value); var relation = encodeURIComponent( document.getElementById('list_relation').value); var outputTextArea = document.getElementById('list_response'); executeRequest('statements:list?source.web.site=' + sourceWebSite + '&relation=' + relation, outputTextArea); } function executeCheckRequest() { var sourceWebSite = encodeURIComponent( document.getElementById('check_source').value); var relation = encodeURIComponent( document.getElementById('check_relation').value); var targetPackageName = encodeURIComponent( document.getElementById('check_target_package').value); var targetSha256Fingerprint = encodeURIComponent( document.getElementById('check_target_sha256_fingerprint').value); var outputTextArea = document.getElementById('check_response'); executeRequest('assetlinks:check?source.web.site=' + sourceWebSite + '&relation=' + relation + '&target.android_app.package_name=' + targetPackageName + '&target.android_app.certificate.sha256_fingerprint=' + targetSha256Fingerprint + '&key=API_KEY', outputTextArea); } </script> </head> <body> <h2>List()</h2> <label>Source Web Asset:</label> <input type="text" id="list_source" value="http://example.digitalassetlinks.org"> <label>Relation:</label> <input type="text" id="list_relation" value="delegate_permission/common.handle_all_urls"> <button type="button" onclick="executeListRequest()">Run</button><br> <textarea rows="20" cols="80" id="list_response"></textarea> <hr> <h2>Check()</h2> <label>Source Web Asset:</label> <input type="text" id="check_source" value="http://example.digitalassetlinks.org"> Relation: <input type="text" id="check_relation" value="delegate_permission/common.handle_all_urls"><br> <label>Target Android Package:</label> <input type="text" id="check_target_package" value="org.digitalassetlinks.sampleapp"> <label>Target Android Certificate Fingerprint:</label> <input type="text" id="check_target_sha256_fingerprint" value="10:39:38:EE:45:37:E5:9E:8E:E7:92:F6:54:50:4F:B8:34:6F:C6:B3:46:D0:BB:C4:41:5F:C3:39:FC:FC:8E:C1"> <button type="button" onclick="executeCheckRequest()">Run</button><br> <textarea rows="20" cols="80" id="check_response"></textarea> </body> </html>
Go
There are no Go samples specifically for this version of the Google Digital Asset Links.
However, you may be able to adapt one of the other Go samples.
Java
There are no Java samples specifically for this version of the Google Digital Asset Links.
You may be able to adapt one of the other Java samples.
.NET
There are no .NET samples specifically for this version of the Google Digital Asset Links.
However, you may be able to adapt one of the other .NET samples.
Objective-C
There are no Objective-C samples specifically for this version of the Google Digital Asset Links.
However, you may be able to adapt one of the other Objective-C samples.
PHP
There are no PHP samples specifically for this version of the Google Digital Asset Links.
However, you may be able to adapt one of the other PHP samples.
Ruby
There are no Ruby samples specifically for this version of the Google Digital Asset Links.
However, you may be able to adapt one of the other Ruby samples.