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

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

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

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

API

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

Q&A

解決済

1回答

1574閲覧

GASでTwitterAPIのOAuth認証が通らない

yzccdefine

総合スコア65

Twitter

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

API

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

0グッド

1クリップ

投稿2019/04/09 07:32

編集2019/04/09 08:08

#質問
表題の通りにはなりますが
現在Google Add Script でTwitterAPIをいじろうとしたところ認証が通らず困っている状態となります。
認証できることを目的にご助力いただけると幸いです。

#現在起こってるエラー

Error starting OAuth flow: <?xml version="1.0" encoding="UTF-8"?><errors><error code="415">Callback URL not approved for this client application. Approved callback URLs can be adjusted in your application settings</error></errors> at [unknown function](Service:334) at [unknown function](Service:235) at [unknown function](TwitterWebService:26) at authorize(twitter_dm:6)

どうやらTwitterAPIで登録したコールバックURLが認証されていないものとして見られているようです。
2018/06/13よりコールバック関数が必須となりGASであれば記載スクリプトのパスを書けばよいことは把握しており、
TwitterアプリでのコールバックURLは以下のような形式で記入しています。

https://script.google.com/macros/d/{Google Apps ScriptのスクリプトID}/usercallback

使用しているライブラリは以下の通りです。
OAuth1:1CXDCY5sqT9ph64fFwSzVtXnbjpSfWdRymafDrtIZ7Z_hwysTY7IIhi7s
TwitterWebService:1rgo8rXsxi1DxI_5Xgo_t3irTw1Y5cxl2mGSkbozKsSXf2E_KBBPC3xTF

#参考URL
https://qiita.com/kazooou/items/8049e3ceba6f9b85585f

https://qiita.com/Ikanogo/items/1dce33c26559eac56a03

https://developer.twitter.com/en/docs/basics/apps/guides/callback-urls.html

https://qiita.com/akkey2475/items/ad190a507b4a7b7dc17c

#参考過去質問
https://teratail.com/questions/134976

//おそらくこちらは改定前
https://teratail.com/questions/125316

#使用コード

// 認証用インスタンス var twitter = TwitterWebService.getInstance( 'Consumer Key (API Key)', // 作成したアプリケーションのConsumer Key 'Consumer Secret (API Secret)' // 作成したアプリケーションのConsumer Secret ); // 認証 function authorize() { twitter.authorize(); } // 認証解除 function reset() { twitter.reset(); } // 認証後のコールバック function authCallback(request) { return twitter.authCallback(request); } // セルを取得 var sheetData = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("シート1"); // 「シート1」はシート名 var postMessageCell = sheetData.getRange(2, 3); // セルの位置。縦横それぞれ1~の番号で指定できる // ツイートを投稿 function postUpdateStatus() { var service = twitter.getService(); var response = service.fetch('https://api.twitter.com/1.1/statuses/update.json', { method: 'post', payload: { status: postMessageCell.getValue() } }); }

質問自体に関して分かりずらい等のご指摘もいただければ適宜追記していきますのでそちらも合わせてよろしくお願いします

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

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

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

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

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

guest

回答1

0

自己解決

https://note.mu/kujigoji929/n/ned52ac3133f6

上記サイトのライブラリを使用しなおすことにより解決しました。

投稿2019/04/10 01:20

yzccdefine

総合スコア65

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問