gpt4 book ai didi

javascript - Twitter 库出错

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:58:09 24 4
gpt4 key购买 nike

在 Google Apps 脚本中,我的项目中有这段代码用于发送推文 (also in jsBin):

function sendTweet(status) {

var twitterKeys= {
TWITTER_CONSUMER_KEY: "x",
TWITTER_CONSUMER_SECRET: "x",
TWITTER_ACCESS_TOKEN: "x",
TWITTER_ACCESS_SECRET: "x"
};

var props = PropertiesService.getScriptProperties();

props.setProperties(twitterKeys);
twit = new Twitter.OAuth(props);

var service = new Twitter.OAuth(props);


if ( service.hasAccess() ) {

var response = twit.sendTweet(status);

if (response) {

Logger.log("Tweet ID " + response.id_str);

} else {

// Tweet could not be sent
// Go to View -> Logs to see the error message

}
}
}

sendTweet("test");

但我遇到的问题是我得到了这个错误:

TypeError: Cannot read property "text" from undefined. (line 293, file "twitter", project "Twitter lib")

第 293 行来自 "Twitter lib" library 的第 21 版(MKvHYYdYA4G5JJHj7hxIcoh8V4oX7X1M_)。

尽管有这个错误,消息“test”实际上还是被发到了推特上。有谁知道如何修复它?

最佳答案

您好,这里是 Twitter Lib 的作者。 @Mogsdad通过 Twitter 将我指向这里。我想我知道您的脚本发生了什么,这是 Google Script 工作方式的一个特点。

您的大部分代码都在一个接受参数的函数中,然后您在脚本的顶层调用了该函数。当您转到“运行”菜单并选择您的 sendTweet 函数时,会发生什么情况是顶层的脚本在执行所选函数之前运行,并且届时将发送带有“测试”文本的推文。

然后,sendTweet 将在没有参数的情况下运行,这意味着 status 变量是 undefined。您向 twit.sendTweet() 发送了一个未定义的值,导致了您看到的错误。

我在这里推荐的是将最后一行代码简单地包装到一个函数中,这样您就可以从“运行”菜单中调用它,如下所示:

function sendTestTweet() {
sendTweet("test");
}

关于javascript - Twitter 库出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34668592/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com