Mẫu Digital Asset Links (Đường liên kết đến tài sản kỹ thuật số của Google)

Mã mẫu thường là cách dễ nhất để tìm hiểu cách sử dụng API. Đối với các đường liên kết đến mẫu Đường liên kết đến tài sản kỹ thuật số của Google, hãy chọn một ngôn ngữ lập trình bên dưới.

Các mẫu sử dụng thư viện ứng dụng API của Google.

Nếu trang mẫu của một thư viện chưa có mẫu cho Đường liên kết đến tài sản kỹ thuật số của Google, thì bạn vẫn có thể sử dụng thư viện đó và điều chỉnh các mẫu được cung cấp cho một API khác của Google.

Python

Sau đây là một ví dụ Python đơn giản liệt kê tất cả câu lệnh do một trang web cụ thể đưa ra, sau đó kiểm tra xem trang web đó có đưa ra câu lệnh delegate_permission/common.handle_all_urls cho một ứng dụng Android cụ thể hay không.

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

Dưới đây là một ví dụ về JavaScript đơn giản cho phép bạn liệt kê tất cả các câu lệnh do một trang web cụ thể đưa ra và cũng kiểm tra xem một câu lệnh cụ thể có trong trang web đó hay không.

<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

Không có mẫu Go nào dành riêng cho phiên bản này của Google Digital Asset Links (Đường liên kết đến tài sản kỹ thuật số của Google).

Tuy nhiên, bạn có thể điều chỉnh một trong các mẫu Go khác.

Java

Không có mẫu Java nào dành riêng cho phiên bản này của Đường liên kết đến tài sản kỹ thuật số của Google.

Bạn có thể điều chỉnh một trong các mẫu Java khác.

.NET

Không có mẫu .NET nào cho phiên bản này của Đường liên kết đến tài sản kỹ thuật số của Google.

Tuy nhiên, bạn có thể điều chỉnh một trong các mẫu.NET khác.

Objective-C

Không có mẫu Target-C nào dành riêng cho phiên bản này của các Đường liên kết đến tài sản kỹ thuật số của Google.

Tuy nhiên, bạn có thể điều chỉnh một trong các mẫu Object-C khác.

1.199

Không có mẫu PHP cụ thể cho phiên bản này của Đường liên kết đến tài sản kỹ thuật số của Google.

Tuy nhiên, bạn có thể điều chỉnh một trong những mẫu PHP khác.

Ruby

Không có mẫu Ruby nào dành riêng cho phiên bản này của Đường liên kết đến tài sản kỹ thuật số của Google.

Tuy nhiên, bạn có thể điều chỉnh một trong những mẫu Ruby khác.