Как получить URL-адрес вопроса / видео, размещенного в форме Google, используя скрипт приложения? - PullRequest
0 голосов
/ 26 апреля 2020

Я пытаюсь создать сайт с помощью Google App Script, где я копирую все элементы из своей формы Google и показываю его на своем собственном сайте. Мне удалось получить подробную информацию обо всех элементах, используя: https://developers.google.com/apps-script/reference/forms, за исключением элементов изображения.

Эта ссылка не содержит информации для получения URL-адреса изображения: https://developers.google.com/apps-script/reference/forms/image-item

Мне удалось получить BLOB-объект, но я не смог получить URL-адрес изображения. Например, на скриншоте мне нужен выделенный URL изображения в моей форме: https://lh6.googleusercontent.com/uZtoCzoraW7vkkrN2289pX83Y6wwaRmMjpgBySWHaT3Vm2p9DVAA7Voy4CclYp2hve6c6zzzLkh-rF1yAX9fFPTTd940WMjwVtjcyMF2XCbdQ7YKQhhCfYxSUyKztcKacWCitDy4C31f9lQ

enter image description here

Мне нужно URL-адрес изображения, чтобы добавить в тег источника моего сайта. Есть ли способ в скрипте приложения Google, который может получить мне URL изображения / видео.

1 Ответ

0 голосов
/ 04 мая 2020

Решение

После дополнительного изучения вашего вопроса я обнаружил, что могу использовать объект Blob, который вы получаете из образа формы, для создания файла накопителя, который затем можно использовать для получения webContentLink. URL-адрес для использования в веб-приложении с использованием Drive API .

Чтобы использовать API-интерфейс Drive в своем скрипте Apps Scrip, пожалуйста, в редакторе сценариев go - Ресурсы -> Advanced Cloud Services и включите Drive API в диалоговом окне, которое появится

Это фрагмент кода, который я использовал для достижения того, к чему вы стремились, с помощью поясняющих комментариев (это упрощенное веб-приложение, которое фокусируется только на достижении вашей цели):

Файл Code.gs

// Apps SCript function to serve the HTML file in the web
function doGet() {
  return HtmlService.createHtmlOutputFromFile('test');
}

// Function to be called in the HTML that returns the URL to be used by the image tag
function getUrl() {
  var form = FormApp.getActiveForm();
  // Get image blob
  var image = form.getItems()[0].asImageItem().getImage().getAs('image/jpeg');
  // Use the image blob for creating a new drive file
  var file = DriveApp.createFile(image);
  // Use the Drive API get method to get the property webContentLink which will return the link
  // of the image to be used in a website
  var fileURL = Drive.Files.get(file.getId()).webContentLink;
  
  return fileURL;
}

index. html

<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body id="body">
<h1>MY IMAGE</h1>

<script>

// Get what our function getURL returns
google.script.run.withSuccessHandler(function(URL) {
// Create HTML image tag
var img = document.createElement('img'); 
// Set its source to our file's sharable URL
img.src =  URL; 
// Attach image element to the body
document.getElementById('body').appendChild(img); 
}).getURL();

</script>

</body>
</html>

Надеюсь, это помогло вам. Дайте мне знать, если вам нужно что-то еще или вы что-то не поняли. :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...