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()

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

이 버전의 Google 디지털 애셋 링크만을 위한 Go 샘플은 없습니다.

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

Java

이 버전의 Google 디지털 애셋 링크에 특별히 사용되는 Java 샘플은 없습니다.

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

.NET

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

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

Objective-C

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

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

2,399필리핀

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

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

루비

이 버전의 Google Digital Asset Links만을 위한 Ruby 샘플은 없습니다.

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