Создать новый твит с Google Script - PullRequest
2 голосов
/ 17 июня 2019

(Я уже прочитал решение, приведенное в Чирикать, используя Google Script , но оно не работает для меня. Пожалуйста, не удаляйте этот вопрос.)

Страница https://ctrlq.org/code/19995-google-script-to-twitter показывает способ создания твита в Google Script. Я просто вставил предложенный там код и успешно выполнил следующие инструкции:

  1. Перейдите на apps.twitter.com и создайте новое приложение
  2. Создание токена доступа и секрета
  3. Включить ключ библиотеки Twitter «MKvHYYdYA4G5JJHj7hxIcoh8V4oX7X1M_» в Google Script
  4. Активировать «Включить вход через Twitter» в «Подробная информация о приложении» в Twitter
  5. Добавьте «URL обратных вызовов» в Twitter, используя мой ключ проекта Google Script: https://script.google.com/macros/d/ML3pMd5z.../usercallback

Теперь , когда я запускаю код, почти ничего не происходит, но это сообщение об ошибке: ReferenceError: "twit" is not defined. (line 22, file "Code").

function sendTweet(status){

status = status || "I found this snippet on @labnol's ctrlq.org";

var twitterKeys= {
TWITTER_CONSUMER_KEY: "1fZn8cBR...",
TWITTER_CONSUMER_SECRET: "588gJxh...",
TWITTER_ACCESS_TOKEN: "112c5e0...",
TWITTER_ACCESS_SECRET: "DcvV614.",
};

var props = PropertiesService.getScriptProperties();

props.setProperties(twitterKeys);

var service = new Twitter.OAuth(props);

if ( service.hasAccess() ) {

var response = twit.sendTweet(status); // ← THIS IS LINE 21

if (response) {
  Logger.log("Tweet ID " + response.id_str);
} else {
  // Tweet could not be sent
  // Go to View -> Logs to see the error message
    }
  }  
}

Подскажите пожалуйста как исправить этот конкретный код .


Нашел ответ в https://medium.com/javascript-in-plain-english/i-made-a-twitter-bot-from-nothing-but-a-google-sheet-ef0ba6e1b194 и просто добавил отсутствующую переменную после var service = new Twitter.OAuth(props);:

var twit = new Twitter.OAuth(props);

Окончательный код выглядит так:

function sendTweet(){
  var status = "Text to be tweeted goes here.";
  var twitterKeys= {
    TWITTER_CONSUMER_KEY: "1fZBR...",
    TWITTER_CONSUMER_SECRET: "Ig...tzpa4E...",
    TWITTER_ACCESS_TOKEN: "1125...90...",
    TWITTER_ACCESS_SECRET: "...22GrDcv...",
    };
  var props = PropertiesService.getScriptProperties();
  props.setProperties(twitterKeys);
  var service = new Twitter.OAuth(props);
  var twit = new Twitter.OAuth(props); // ← THIS WAS THE MISSING VARIABLE
  if ( service.hasAccess() ) {
    var response = twit.sendTweet(status);
      if (response) {
        Logger.log("Tweet ID " + response.id_str);
        } else { }
     }  
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...