דוגמאות לקישורים לנכסים דיגיטליים של Google

לרוב, הקוד לדוגמה הוא הדרך הקלה ביותר ללמוד איך משתמשים ב-API. כדי לקבל קישורים לדוגמאות של קישורים לנכסים דיגיטליים של Google, צריך לבחור באחת מהשפות התכנות הבאות.

הדוגמאות מתבססות על ספריות הלקוח של Google API.

אם דף דוגמאות של ספרייה עדיין לא כולל דוגמה של 'הקישורים לנכסים דיגיטליים של Google', עדיין אפשר להשתמש בספרייה הזו. ייתכן שתוכלו להתאים גם דוגמאות שסופקו ל-Google API אחר.

Python

הנה דוגמה פשוטה ל-Python שמפרטת את כל ההצהרות של אתר נתון, ולאחר מכן בודקת אם האתר מציג את ההצהרה delegate_permission/common.handle_all_urls על אפליקציה ספציפית ל-Android.

#!/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

זוהי דוגמה פשוטה של JavaScript שמאפשרת לך לראות את כל ההצהרות שנאמרו על ידי אתר מסוים, וגם לבדוק אם קיימת הצהרה מסוימת באותו אתר.

<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

אין דוגמאות של Go שמיועדות ספציפית לגרסה הזו של קישורי הנכסים הדיגיטליים של Google.

עם זאת, ייתכן שתוכלו להתאים אחת מהדוגמאות האחרות של Go.

Java

אין דוגמאות Java ספציפיות לגרסה הזו של הקישורים לנכסים דיגיטליים של Google.

יכול להיות שתוכלו להתאים אחת מהדוגמאות האחרות של Java.

‎.NET

אין דוגמאות .NET ספציפית לגרסה הזו של הקישורים לנכסים דיגיטליים של Google.

עם זאת, יכול להיות שתוכלו להתאים אחת מהדוגמאות האחרות של Net.

Objective-C

אין דוגמאות של Objective-C במיוחד לגרסה הזו של הקישורים לנכסים דיגיטליים של Google.

עם זאת, ייתכן שתוכלו להתאים אחת מהדוגמאות האחרות של אובייקט ג'.

PHP

אין דוגמאות PHP במיוחד לגרסה הזו של הקישורים לנכסים דיגיטליים של Google.

עם זאת, יכול להיות שתוכלו להתאים אחת מדגימות ה-PHP האחרות.

Ruby

אין דוגמאות של Ruby באופן ספציפי לגרסה הזו של הקישורים לנכסים דיגיטליים של Google.

עם זאת, ייתכן שתהיה אפשרות להתאים אחת מדגימות Ruby האחרות.