【问题标题】:Execution failed Twilio SMS (Java)执行失败 Twilio SMS (Java)
【发布时间】:2021-10-31 00:28:58
【问题描述】:

我正在尝试使用 Twilio 发送 SMS 消息。我已按照所有说明操作并设置了 JAVA_HOME 环境变量。当我运行程序时,我得到:

任务“:StockAlertClass:SMS.main()”执行失败。

进程 'command'/Library/Java/JavaVirtualMachines/jdk1.8.0_212.jdk/Contents/Home/bin/java'' 以非零退出值 1 结束

  • 尝试: 使用 --info 或 --debug 选项运行以获得更多日志输出。运行 --scan 以获得完整的见解。

  • 例外情况是: org.gradle.api.tasks.TaskExecutionException:任务':StockAlertClass:SMS.main()'的执行失败。 引起:org.gradle.process.internal.ExecException:进程'command'/Library/Java/JavaVirtualMachines/jdk1.8.0_212.jdk/Contents/Home/bin/java''以非零退出值1

我的java类是:

import com.twilio.Twilio;
import com.twilio.rest.api.v2010.account.Message;
import com.twilio.type.PhoneNumber;

public class SMS {
    // Find your Account SID and Auth Token at twilio.com/console
    // and set the environment variables. See http://twil.io/secure
    public static final String ACCOUNT_SID = System.getenv("HiddenForPrivacy");
    public static final String AUTH_TOKEN = System.getenv("HiddenForPrivacy");

    public static void Message() {
        Twilio.init(ACCOUNT_SID, AUTH_TOKEN);

        Message message = Message.creator(new PhoneNumber("+HiddenForPrivacy"),
                new PhoneNumber("HiddenForPrivacy"),
                "Test ").create();

        System.out.println(message.getSid());
    }
    public static void main(String[] args) {
        Message();
    }
}

build.gradle 是:

plugins {
    id 'java'
}

group 'org.example'
version '1.0-SNAPSHOT'

repositories {
    mavenCentral()
    mavenLocal()
}
if (hasProperty('buildScan')) {
    buildScan {
        termsOfServiceUrl = 'https://gradle.com/terms-of-service'
        termsOfServiceAgree = 'yes'
    }
}

dependencies {
    compile 'org.slf4j:slf4j-simple:1.6.+'
    compile 'com.sparkjava:spark-core:2.5.+'
    implementation group: "com.twilio.sdk", name: "twilio", version: "8.21.0"
    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.0'
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine'
    // https://mvnrepository.com/artifact/com.twilio.sdk/twilio
    runtimeOnly group: 'com.twilio.sdk', name: 'twilio', version: '8.21.0'
}

test {
    useJUnitPlatform()
}

【问题讨论】:

    标签: java gradle twilio


    【解决方案1】:

    这里是 Twilio 开发者宣传员。

    我很关心你是如何分享这些台词的:

        public static final String ACCOUNT_SID = System.getenv("HiddenForPrivacy");
        public static final String AUTH_TOKEN = System.getenv("HiddenForPrivacy");
    

    您不必在这些行中隐藏密钥。相反,您应该将您的 Account SID 和 Auth Token 设置为名为 ACCOUNT_SIDAUTH_TOKEN 的环境变量,然后您的代码应如下所示:

        public static final String ACCOUNT_SID = System.getenv("ACCOUNT_SID");
        public static final String AUTH_TOKEN = System.getenv("AUTH_TOKEN");
    

    如果您在这些调用中使用了实际的 Account Sid 和 Auth Token,那么我的猜测是您的代码失败了,因为它们设置不正确。

    我建议阅读working with environment variables in Java 上的这篇博文以了解更多详情。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-28
      • 2019-12-24
      • 2016-05-04
      • 2023-03-15
      • 1970-01-01
      • 2019-04-17
      • 2018-09-26
      相关资源
      最近更新 更多