Mẫu đườ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 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 này 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, bạn vẫn có thể sử dụng thư viện đó và có thể điều chỉnh các mẫu được cung cấp cho một API Google khác.

Python

Sau đây là một ví dụ đơn giản về Python liệt kê tất cả câu lệnh do một trang web cụ thể tạo, sau đó kiểm tra xem trang web đó có đưa ra câu lệnh delegate_permission/common.handle_all_urls về 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

Sau đây là một ví dụ đơn giản về JavaScript cho phép bạn liệt kê tất cả các câu lệnh do một trang web nhất định tạo, đồng thời kiểm tra sự hiện diện của một câu lệnh trong trang web đó.

<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ó ví dụ cụ thể nào về Go 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 những mẫu Go khác.

Java

Không có mẫu Java 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 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 .NET khác.

Objective-C

Không có mẫu Objective-C 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 các mẫu Objective-C khác.

PHP

Không có mẫu Web cụ thể 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 PHP còn lại.

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 các mẫu Ruby còn lại.