Google 디지털 애셋 링크 샘플

샘플 코드는 API 사용 방법을 배우는 가장 쉬운 방법입니다. Google 디지털 애셋 링크 샘플의 링크를 확인하려면 아래에서 프로그래밍 언어를 선택하세요.

샘플은 Google API 클라이언트 라이브러리를 사용합니다.

라이브러리의 샘플 페이지에 아직 Google 디지털 애셋 링크의 샘플이 포함되어 있지 않으면 라이브러리를 사용할 수 있으며 다른 Google API용으로 제공된 샘플을 조정할 수 있습니다.

Python

다음은 특정 웹사이트의 모든 문을 표시한 다음 해당 사이트가 특정 Android 앱에 관한 delegate_permission/common.handle_all_urls 문을 만드는지 확인하는 간단한 Python 예시입니다.

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

자바스크립트

다음은 특정 웹사이트에서 작성한 모든 문을 나열하고 해당 웹사이트에 특정 구문이 있는지 확인할 수 있게 하는 간단한 자바스크립트 예입니다.

<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

이 버전의 Google 디지털 애셋 링크에 적용되는 Go 샘플은 없습니다.

하지만 다른 Go 샘플 중 하나를 수정하여 사용할 수 있습니다.

자바

이 버전의 디지털 애셋에 해당하는 자바 샘플은 없습니다.

다른 자바 샘플 중 하나를 수정하여 사용할 수 있습니다.

.NET

이 버전의 Google 디지털 애셋 링크 전용 .NET 샘플은 없습니다.

그러나 다른 .NET 샘플 중 하나를 수정하여 사용할 수 있습니다.

Objective-C

이 버전의 Google 디지털 애셋 링크 전용 Objective-C 샘플은 없습니다.

그러나 다른 Objective-C 샘플 중 하나를 수정하여 사용할 수 있습니다.

PHP

이 버전의 Google 디지털 애셋 링크 전용 PHP 샘플은 없습니다.

그러나 다른 PHP 샘플 중 하나를 수정하여 사용할 수 있습니다.

Ruby

이 버전의 Google 디지털 애셋 링크 전용 Ruby 샘플이 없습니다.

하지만 다른 Ruby 샘플 중 하나를 수정하여 사용할 수 있습니다.