カウンター
プロフィール

ユキ

Author:ユキ
FC2ブログへようこそ!

最新記事
カテゴリ
最新コメント
月別アーカイブ
にほんブログ村
にほんブログ村
検索フォーム
RSSリンクの表示
リンク
QRコード
QR

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


↓クリックお願い致します。
にほんブログ村 PC家電ブログ 自作PCへ
にほんブログ村


GAS(Google Apps Script)でOAuthConfigのサポートが終了

以前にGoogle Apps ScriptからTwitterに画像を投稿する方法を書きました。
過去の記事「GAS(Google Apps Script)を使ってTwitterに画像を投稿する方法」

ところが、7月の頭からTwitterのbotが止まってしまいました。
どうやら、「OAuthConfig」というクラスのサポートが終了してしまったためにエラーになってたみたいです。

対策をググってみると色々出てきましたが、どうやらGoogleさんが用意したOAuth1用ライブラリを使うのが良いみたいです。
apps-script-oauth1(GitHub)
さらに調べてみると、すごく読みやすくきれいなソースを公開しているブログを見つけ、これを見ながらソースを修正しました。
困ってる方はこちらのブログを見るといいと思います。

きじとら「Google Apps ScriptでOAuthConfigのサポートが終了してTwitter botが危険そうだったので変更」

さらにここに手を加えさせていただき画像をアップデート出来るようにしましたので、そのソースを載せておきます。


 var Twitter = {
  oauth: {
    name: "twitter",
    
    service: function(screen_name) {
      // 参照元:https://github.com/googlesamples/apps-script-oauth2
      
      return OAuth1.createService(this.name)
      // Set the endpoint URLs.
      .setAccessTokenUrl('https://api.twitter.com/oauth/access_token')
      .setRequestTokenUrl('https://api.twitter.com/oauth/request_token')
      .setAuthorizationUrl('https://api.twitter.com/oauth/authorize')
      
      // Set the consumer key and secret.
      .setConsumerKey("Twitterのコンシューマキー")
      .setConsumerSecret("Twitterのコンシューマシークレット")
      
      // Set the project key of the script using this library.
      .setProjectKey("このGoogle Apps Scriptのプロジェクトキー")
      
      
      // Set the name of the callback function in the script referenced
      // above that should be invoked to complete the OAuth flow.
      .setCallbackFunction('twitterAuthorizeCallback')
      
      // Set the property store where authorized tokens should be persisted.
      .setPropertyStore(PropertiesService.getUserProperties());
    },
    
//Twitterに画像を投稿します。
//引数 text・・・画像と一緒に投稿するテキスト
//    picture・・・投稿する画像
  iamge_upload: function(text,picture) {
    var that = this, service = this.oauth.service();
    if (!service.hasAccess()) {
      Logger.log("先にOAuth認証してください");
      return false;
    }
    
    
  var boundary = "cuthere";
  var requestBody = Utilities.newBlob(
    "--"+boundary+"\r\n"
    + "Content-Disposition: form-data; name=\"status\"\r\n\r\n"
    + text+"\r\n"+"--"+boundary+"\r\n"
    + "Content-Disposition: form-data; name=\"media[]\"; filename=\""+picture.getName()+"\"\r\n"
    + "Content-Type: " + picture.getContentType()+"\r\n\r\n").getBytes();
 
  requestBody = requestBody.concat(picture.getBytes());
  requestBody = requestBody.concat(Utilities.newBlob("\r\n--"+boundary+"--\r\n").getBytes());
  
  var options = {
    method: "post",
    contentType: "multipart/form-data; boundary="+boundary,
    payload: requestBody,
    muteHttpExceptions: true
  }; 
  
  var url = "https://api.twitter.com/1.1/statuses/update_with_media.json";
 
  try {
    var result = service.fetch(url, options);
    var json = JSON.parse(result.getContentText());
  } catch(e) {

  }
    
    return json;
  },
  
  
  init: function() {
    this.oauth.parent = this;
    return this;
  }
}.init();


結構省略してしまっているのですが、上記のブログのソースにiamge_uploadの関数を追加すればいいと思います。
引数にツイートの文章textと画像データpictureを渡して実行すればアップされます。
うまくアップされない場合はoauthのclearを実行して、再度oauthの認証を行うとうまくいこともあります。

変更点はoptionの中身とTwitterAPIがstatuses/update_with_mediaを使ってるところくらいです。
ただ、update_with_mediaは非推奨らしいので、いずれこのAPIも使えなくなる可能性もあります。
推奨はmedia/uploadというAPIを使う方法らしいです。
media/uploadを使う方法だと画像を複数アップしたり出来るみたいです。



さて、久々の更新で文章がめちゃくちゃですが、もう使えない方法をずっとそのままにしておくのも忍びないと思い更新しました。
他にも書きたいことが溜まっているのでこれを機に記事にしていきたいと思います。

ではノシノシ




↓クリックお願い致します。
にほんブログ村 PC家電ブログ 自作PCへ
にほんブログ村


「87CLOCKERS」5巻買ってきました。

「87CLOCKERS」5巻買ってきました。
IMG_1104.jpg

今日発売だったので買ってきました。
まだ読んでないので今回の内容はわかりませんが、
ネタバレする気もないのでいいんですが。

まぁここのブログに来るような人はきっと「87CLOCKERS」のことを知ってるかと思いますが、一応ご紹介。

ざっくり言うと、主人公の男の子(大学生ですが、)ヒロインに憧れて、オーバークロッカーになり成長していく話です。
ちなみに作者はこの作品の前に「のだめカンタービレ」を書いていました。
こっちはアニメ化ドラマ映画化もして知ってる方もいるかと思います。

でもなんで、オーバークロック?って感じですけどね。
その辺はアスキーの記事で話していますね。
ASCII.jp:「なぜテーマがOC? 「87CLOCKERS」作者、二ノ宮知子さんに聞く!」
ちゃんと監修もついていて、有名な方らしいです。

私はオーバークロックはしないので、詳しくはわからないですが、ちゃんと取材してちゃんと落としこんでいると思います。
オーバークロックなんて単語が出てくる漫画はこれと週刊アスキーに連載されてる「パーツのぱ」くらいだと思いますので、興味があったら読んでみてくださいね。

↓ここでちょっと読めるみたいです。
http://jumpx.jp/w/87/

ではノシノシ




↓クリックお願い致します。
にほんブログ村 PC家電ブログ 自作PCへ
にほんブログ村


ブログ村に参加しました。

ブログ村に参加しました。

テスト的な更新です。

クリックしていただけると励みになりますのでお願い致します!




↓クリックお願い致します。
にほんブログ村 PC家電ブログ 自作PCへ
にほんブログ村


方向性とか

テンプレート変更してみました。

今までHTMLとかCSSとか触れずに来たので四苦八苦
なんか線ずれてるし↓↓
少しず改良していきます。


さてこのブログの方向性としてはブログタイトルにあるようにギークなことを書いていきたいと思い始めました。
まぁそのくらいしか語ることが出来ないって言うのも正直なところですが、、、

なのでとりあえず1発目の企画としては自覚PC作っていきます(`・ω・´)
材料もぼちぼち揃ってきました。

最終的にはケースも自作していきたいのでお付き合い下さい。

IMG_0722 - コピー


↓クリックお願い致します。
にほんブログ村 PC家電ブログ 自作PCへ
にほんブログ村


はじめまして

はじめまして、ユキともうします。

ブログなるものを始めていきたいと思いますので、よろしくお願いします。

方向性とかは追々決めていきたいと思います。


↓クリックお願い致します。
にほんブログ村 PC家電ブログ 自作PCへ
にほんブログ村


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。