カウンター
プロフィール

ユキ

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へ
にほんブログ村


Windowsタブレット買っちゃいました。


あけましておめでとうございます。

先月は仕事が忙しすぎて更新できませんでした。
まぁ今年も無理のない程度に更新していきますので、お付き合いよろしくお願いします。

さて、タイトルにあるようにWindowsタブレット買っちゃいました。
特に明確な使い道も無いのに買っちゃいました。

ちなみに買ったのはこれです。
IMG_1742.jpg

Lenovo Miix 2 8 59428524
OS:Windows8.1 32bit
CPU:Atom Z3740 1.33GHz
メモリ:2GB
記憶容量:64GB
ディスプレイ:8.0型HD IPSパネル(800x1280ドット)マルチタッチパネル
Wi-Fi:802.11 a/b/g/n

仕様はこんな感じ。
お値段はクーポンやらタイムセールやらで約21000円でした。

同価格帯で他にも候補があったのですが、決め手はメモリが2GBな事と、記憶容量が大きいことでした。
これより安いAcer IconiaTabはメモリが1GB、ドスパラのDiginnos DG-D08IWBが記憶容量が16GBと言うことで、
このMiixにしました。

早速開けてみました。
IMG_1743.jpg

使用感としてはちょっとソフトの起動に時間がかかることがありますが、動き始めればストレスは感じません。
その前にWindows8.1に慣れていないのでそこが問題ですが、、、

自分の主な用途は動画再生と自炊のマンガを読むことです。
動画再生はGOMプレイヤーを使って、H265 1280x720の再生して見ましたが、カクつくこともなく全く問題ありません。
マンガに関してですが、デスクトップ用のマンガビューワーだとタッチパネルには最適化されていないのでストアアプリをインストールしました。
インストールしたアプリは「nyalu」というアプリです。
zipもrarも表示でき、設定も豊富でオススメです。

さて、ここからは不満点を上げていきます。
モニタ出力が付いてないのでプレゼン等で必要な場合はUSBディスプレイアダプタ等を使わないといけません。

microSDが取り出しにくいです。
IMG_1775.jpg

右側がmicroSDのソケットなのですが、全然バネの押し戻しが悪くて取り出しにくいです。
また、microSDの表面をディスプレイ側にして挿入するのですが、せめて逆向きに入れるようにしてくれれば爪で引っ掛けられるのに、、、。

あと、これは多くのタブレットでの問題なのですが、microUSBポートが充電端子を兼ねているという点です。
キーボードやマウスはBluetoothを使えばいいかもしれませんが、先に書いたディスプレイ出力やフラッシュメモリを挿したりすると充電が出来ません。
OTGケーブルなるものを使えば充電しながらUSBを使えるみたいなのですが、物によっては充電できなかったりでこの仕様はいかがなものかと思います。

いろいろ書きましたが満足なガジェットです。

海外だと60ドルで8.1タブレットが売られ始めたみたいで、これから注目のカテゴリですよ。

それではノシノシ



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


【自作Retinaディスプレイ】リンゴマークに穴を空けました。


前回、前々回の記事でリンゴマークを光らせるための光源を確保出来そうだと言うことがわかりました。
過去の記事「【自作Retinaディスプレイ】リンゴマークを光らせたい1」
過去の記事「【自作Retinaディスプレイ】リンゴマークを光らせたい2」

なので、ケースの方を加工していきたいと思います。
まずはリンゴマークのところに穴を開けていきたいと思います。
IMG_1701.jpg

元々ここには黒いリンゴの形のパーツが埋まっていて、少し凹んでいます。
この凹みを切り取っていきます。

まず凹みに沿って穴を空けます。
IMG_1703.jpg

そして、この穴をニッパーで繋げて切り落とします。
IMG_1705.jpg

あとはここを綺麗にヤスリます。
IMG_1707.jpg

今回は短いですが、ここまで
ではノシノシ



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


【自作Retinaディスプレイ】リンゴマークを光らせたい2


さて、前回の記事の続きです。
リンゴマークを光らせる最後の問題は電源です。

このディスプレイの基板はUSBから電源を取っているので5V電源は容易に確保することが出来ます。
(USBのバスパワーは5Vなので)
でもせっかくなのでスイッチに連動するようにしたいですよね。
ってことで基板にテスターを付けまくってスイッチに連動して電圧の変わる場所を探しました。
そして見つけました。

IMG_1197-2_2.jpg

赤マルのところから電源ONの時は20V、OFFの時は5V程度の電源を取ることが出来そうです。

早速配線してみました。
IMG_1687.jpg

写真撮り忘れましたが光りました。
光りましたが、めちゃくちゃ明るいです。
目が痛いほどに、、、
まぁ当然です。この時付けたLEDは12V用なのですから、
明るいのは当然です。

しかし、問題が発生しました。
なんとOFFでもLEDが光ってしまいました。

IMG_1690.jpg

そこで手元にある抵抗を配線してONで点灯し、OFFでちゃんと消える様にしました。

IMG_1693.jpg
IMG_1692.jpg

机がごちゃごちゃしてますが、OFFで消えてますね。
見切れちゃってますがこの抵抗は8.2kΩでした。

さて最後にこんなところにLED付けてちゃんと画面が付くのか確認します。

IMG_1696.jpg

付きました!

と、言うわけで、リンゴマーク光らせられそうですね。

それでは今日はここまでノシノシ



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


【自作Retinaディスプレイ】リンゴマークを光らせたい1


久々の自作Retinaディスプレイの記事です。

なんで間が開いたかというと、仕事が忙しかったのもありますが、
この自作ディスプレイでちょっとやりたいことが増えてしまいまして、
それがやれそうか検証したり下準備したりしてました。

とりあえず何がしたくなったかというと、リンゴマークを光らせたくなりました。
IMG_15572.jpg

赤丸の部分です。

この前、電車に乗っていたら、MacBook Airを膝に乗せている人がいたんですよ。
そうしたらリンゴのマークが光ってるじゃないですか。
光ることは知っていましたし、光っているところも見たことあるのですが、なんかやれないかな?
と思いました。

外装に穴を開けて透明なものをはめ込むことはそんなに難しく無いと思います。
やっぱり問題はどうやって光らせるか?ということだと思います。

問題を更に分類します。
まず一つ目は光源です。
本家MacBook Airはディスプレイのバックライトの光を一部裏側にも抜けるようにしているようです。
ですが、iPad用のRetinaディスプレイはそのような加工はしていなく、また加工も難しいと判断しました。
Retinaディスプレイ自体の分解は分解を専門にしている人でも失敗するレベルらしいからです。
iFixitがMacBook ProのRetinaディスプレイ部分を分解!しかも壊した!

代替の方法を考えます。
一番綺麗に光らせる方法としてはELシートなるものを考えました。
ELシートは面で発光し、値段も小さなサイズならそんなにしません。
名刺サイズで800円ほど。
カット出来るELシート名刺サイズ
ただ、ELシートは光らせるためにインバータが必要なようでそれを埋め込む余地はちょっとありません。

最終的にはLEDしかなさそうかなという結論に至りました。

さて、光源は決まりましたが、LEDにしたことでの問題もあります。
それはLEDは点発光なのでそのまま外に向けると見た目が微妙そうってことです。
うまく拡散させないとカッコ悪いですよね。
そこで、LEDのテープを写真の様に貼り付けて、光をディスプレイの裏に反射させれば均一に光らせることが出来るのではないかと考えました。
IMG_16992.jpg

追記:横から見た断面図
LED配置図

隙間がギリギリなので、少し掘り下げないといけないかもしれません。
ちょっとこれはやってみないとわからないので光らせてから考えるとします。

さて最後は電源の問題です。

この話はまた次回にします。
今回は字ばっかりですいません。

ではノシノシ



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


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