質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.36%
Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

1回答

1432閲覧

【Twitter API GAS】ステートメントの前に ; がありません。エラーを解決したい

tripology

総合スコア0

Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

0クリップ

投稿2021/04/20 03:26

編集2021/04/20 05:28

前提・実現したいこと

こんにちは!当方、プログラミングを初めてまだ10日ぐらいですが、
自分なりにWebで調べて行き詰ってしまいましたのでご教授いただければ幸いです。
【概要】
プログラミング超初心者です。
Twitter Botをコピペとライブラリの組み合わせで作っています。
4月頭にtwitter APIの申請が通り、GASを使ってBotを一つ作りました。
これがうまく動いたので、別の動作をするBotアカウントをもう一つ作っています。
その途中でエラーが発生し進まなくなってしまったので解決したく、質問いたします。

【前提】
Twitter APIの認証を取ったアカウントをアカウントXとします。
◯うまくいっているアカウントA
・アカウントXのProjectでCreate Appをクリックしてアプリ作成
・以降は下記URLの通りに進め、アカウントAでアプリの認証を無事通過。
https://qiita.com/koba0124/items/82276dc0219ad015a7a1
◯うまくいかないアカウントB
・アカウントXのStand alone APPでCreate APPをクリックしてアプリ作成
(ProjectではCreate APPボタンが見つからず)
・アカウントAで使用したGASのコードをそのままコピペ
・当該APPのAPI keyを取得し、コードに記入
・関数Authorizeを実行
⇒ 次項のエラーが発生

発生している問題・エラーメッセージ

ステートメントの前に ; がありません。(行 5、ファイル「TwitterClient」、プロジェクト「TwitterClient」)

該当のソースコード

'use strict'; // OAuth1認証用インスタンス var twitter = TwitterWebService.getInstance( '**API key**', '**API secret key**' ); //OAuth1ライブラリを導入したうえで、getServiceを上書き twitter.getService = function() { return OAuth1.createService('Twitter2') .setAccessTokenUrl('https://api.twitter.com/oauth/access_token') .setRequestTokenUrl('https://api.twitter.com/oauth/request_token') .setAuthorizationUrl('https://api.twitter.com/oauth/authorize') .setConsumerKey(twitter.consumer_key) .setConsumerSecret(twitter.consumer_secret) .setCallbackFunction('authCallback') .setPropertyStore(PropertiesService.getUserProperties()) } // 認証を行う(必須) function authorize() { twitter.authorize(); } // 認証をリセット function reset() { twitter.reset(); } // 認証後のコールバック(必須) function authCallback(request) { return twitter.authCallback(request); } function tweetTest(){ postUpdateStatus('test'); }

試したこと

下記いずれも同じエラーが再現しました。
・うまくいっているアカウントAのAPI keyを使用
https://belltree.life/twitterbot-library/
のコードをコピペし、関数Authorizeを実行
(API keyはアカウントAとアカウントBのそれぞれのアプリのものを試しました)

補足情報(FW/ツールのバージョンなど)

・エラーが示す通り五行目に;を追加しても、同様のエラーが再現します。
・エラーのでないアカウントAでは五行目はこのままで動いています。
・各ライブラリはいずれも最新版を使用しています。
・Callbackurlは、各スプレッドシートのプロパティから取得し、各アプリに登録しています。
・ChromeV8を搭載した新しいAPP Script ランタイムは無効にしてあります。

プログラムのコードの問題ではなく、認証の仕方のような気もしております。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

K_3578

2021/04/20 03:33

> ; がありません。(行 5、ファイル「TwitterClient」、プロジェクト「TwitterClient」) ↑で警告してくれてる通りじゃないの?5行目に「;」がないって言ってるようにしか見えないけど 忠告ですが、基礎を理解せずになんでもコピペで作ってると一生成長できないのでこれからもっと 成長したいのならば基礎から勉強されることを強く推奨します
tripology

2021/04/20 03:40 編集

早速コメントいただきありがとうございます。 五行目に;を追加してもエラーは変わりませんでした。 また、もともと動いているアカウントAでは、;なしのコードそのままで動いております。 ※ご忠告ありがとうございます。至極全うなことでございます。精進して参ります。
guest

回答1

0

自己解決

すみません、自己解決しました。
ChromeV8を搭載した新しいAPP Script ランタイムを無効にしていましたが、
これを有効にしたらエラーが消えて動きました。
なぜこれで動くようになったのかは調べてみます。

投稿2021/04/20 15:21

tripology

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問