自定义ID

问题描述:

派生一个谷歌表单视图ID当我定义表单,它的网址:自定义ID

https://docs.google.com/a/domain.com/forms/d/1d2Y9R9JJwymtjEbZI6xTMLtS9wB7GDMaopTQeNNNaD0/edit

我完成添加我想要的形式有,并使用“发送”的问题按钮分发我的表单,我不单击“在电子邮件中包含表单”复选框。我的个人电子邮件形式到现在临危和电子邮件,邀请他们填写表格,当他们这样做,他们最终在页面上具有以下网址:

https://docs.google.com/a/domain.com/forms/d/e/1FAIpQLScINR5rudwEKNVwlvz45ersqk_SO0kNcyN_EM1tJe3mXeFksw/viewform

在我的AppEngine/Python 2.7版代码,我只能访问这个ID - “1d2Y9R9JJwymtjEbZI6xTMLtS9wB7GDMaopTQeNNNaD0” - 我的问题是如何从这种原始的定义ID到视图id得到 - “1FAIpQLScINR5rudwEKNVwlvz45ersqk_SO0kNcyN_EM1tJe3mXeFksw”

我已经使用谷歌驱动v2和v3尝试REST API来检索'定义'文件,但响应没有引用(我可以看到)这个'视图'ID。 我也尝试使用Google AppsScript FormApp API来检索'定义'表单,但是这也没有包含'view'id的引用(我可以看到)。 在所有我尝试过的情况下,如果我使用“视图”ID作为源,则API返回404错误,指示此“视图”ID不是Google Drive文件的ID。

任何想法?

使用谷歌Apps脚本发布Web应用程序(或使用执行API)来leaverage了 “getPublishedUrl” 功能

function doGet(theRequest){ 
    var theDefinitionId = theRequest.parameters.formId; 
    var thePublishedUrl = myAPI_(theDefinitionId); 
    var output = ContentService.createTextOutput(thePublishedUrl); 
    output = output.setMimeType(ContentService.MimeType.JSON); 
    return output; 
} 

function myAPI_(theDefinitionId){ 
    var thePublishedUrl = null; 
    try{ 
    var existingForm = FormApp.openById(theDefinitionId); 
    thePublishedUrl = existingForm.getPublishedUrl(); 
    } catch (err){ 
    Logger.log(err); 
    } 
    var theReturn = {publishedUrl: thePublishedUrl}; 
    var theJSONReturn = JSON.stringify(theReturn); 
    return theJSONReturn; 
}