如何在Unity3d中的google表单中的另一个部分添加值

问题描述 投票:0回答:2

如何在 unity3d 中的 Google 表单的其他部分添加价值?

我只能在第 1 部分添加值。在其他部分添加值时遇到问题。

enter image description here

这是代码

public GameObject username;
public GameObject email;
public GameObject phone;
public GameObject phone2;

private string Name;
private string Email;
private string Phone;
private string Phone2;

[SerializeField]
private string BASE_URL = "https://docs.google.com/forms/d/e/1FAIpQLSc8rwjEYJ0akVuuRo0GULsoyhvBxgLwuvv6oDtWiJgJZjyiMw/formResponse";

IEnumerator Post(string name, string email, string phone, string phone2) {
    WWWForm form = new WWWForm();

    form.AddField("entry.1417744726", name);
    form.AddField("entry.881581736", email);
    form.AddField("entry.977000887", phone);
    form.AddField("entry.1897661126", phone2);

    byte[] rawData = form.data;
    WWW www = new WWW(BASE_URL, rawData);
    yield return www;
}
public void Send() {
    Name = username.GetComponent<InputField>().text;
    Email = email.GetComponent<InputField>().text;
    Phone = phone.GetComponent<InputField>().text;
    Phone2 = phone2.GetComponent<InputField>().text;
    StartCoroutine(Post(Name, Email, Phone, Phone2));

}
unity-game-engine google-sheets google-forms
2个回答
0
投票

不幸的是,这种将信息发布到谷歌表单的方法似乎并不可靠,因为这里的所有进展都没有很好地记录下来,都是通过查看 html 页面代码来实现的。我遵循了相同的教程,但也遇到了麻烦。

但幸运的是,我找到了更好的解决方案,可以让您更好地控制和访问谷歌表单。

https://developers.google.com/apps-script/

https://developers.google.com/apps-script/reference/forms/

您可以使用 Google Apps 脚本从 google 自己的服务器上使用 JavaScript 设置和部署 Web 应用程序,并直接与表单交互,而不是猜测 post API。从那里您只需设计 JSON 有效负载。我已经使用 Postman 模拟将从 unity 发送的 Web 请求,让它正常工作。

就您面临的部分问题而言,在谷歌应用程序脚本javascript中,这并不是太大的问题,因为这些部分只是用于在视觉上破坏前端,并且不会影响数据。然而,它们在后端表示为“项目”,因此当您将 JSON 有效负载中的答案复制到表单响应时,请注意您的部分所在的索引,以便您可以跳过它们,而不会意外丢失数据。


0
投票

我遇到了同样的问题,无法将值推送到 Google 表单另一部分中的字段。有人有解决方法吗?

© www.soinside.com 2019 - 2024. All rights reserved.