いてづきブログ

情シスでやってみたことの備忘録

slackをRSSリーダーのように使う

家庭を支える技術アドベントカレンダーを見ているとslackがかなり流行っているようなので自分でも導入してみました。
※一緒にチャットしてくれる人がいませんが…(泣)

 

slack.com

 

記事を読んでいると「○○の更新をslackに流してる」とかいう表現が多かったので、まずはそれに倣って今年自分が見ているアドベントカレンダーの更新通知をslackで通知されるようにしてみました。
feedlyに登録しとけばいいとか言わない。


やり方は、登録したいチャンネルで下記のように打てばOK(例は家庭を支える技術2015アドベントカレンダー) 

/feed http://www.adventar.org/calendars/769.rss

 

 AdventarはURLの後ろに.rssをつければrssが取得できます。 

QiitaはURLの後ろに/feedとつけると取得できます。アドベントカレンダーでもユーザーでもタグごとでもほとんど/feedで取得出来て便利です。

 

また、チャンネル内で登録されているfeedの一覧を見たい場合は

/feed list

 とすればいいようです。

 

GASアドベントカレンダーに参加しています

毎年恒例のGoogleAppsScriptのアドベントカレンダーに参加しています。

qiita.com


毎年参加したいなーと思いつつもネタが無かったのですが、いろいろと眺めてた時に見たスライドでハードルを下げられた(と思って)ので参加してみることにしました。


www.slideshare.net

 

自分は8日と15日の分で投稿予定です。

内容はアドベントカレンダー内で(笑)

 

本当は1記事の予定だったけど前の人の記事に乗っかってもう1記事書いてみました。

役に立てば幸いです。

 

 

 

前回のGoogleAppsユーザー会のトークテーマがGASだったらしいですね…。

行きたかったなぁ…。

東京遠い(´・ω・`)

Execution APIで躓いた点のメモ

Google Apps Scriptを外から叩けるExecution APIが公開されました。

 

Apps Script Execution API を使用して Google Apps Script をより活用する

http://googleappsupdates-ja.blogspot.jp/2015/09/apps-script-execution-api-google-apps.html

 

おおまかな使い方は既にQiitaに投稿されています。

qiita.com

 

JavaScriptの場合の使い方は下記ページにありますが、自分でも試してて躓いた点のメモ。 ※あくまで自分がハマったところなので、それ以外は上記のQiitaのページや下記のQuickStartにかなり丁寧に解説されているので基本的にはそちらを読んでください。  

JavaScript Quickstart  |  Apps Script  |  Google Developers

https://developers.google.com/apps-script/guides/rest/quickstart/js


承認済みJavascript 生成元の設定

QuickStart内の記述されていますが、開発用のものならば例えば「http://localhost:8000」のように記述すればいいです。 承認済みのリダイレクト URIは空(blank)で大丈夫です。

ライブラリを読み込む

QuickStartではサンプルコードだけ載せてあっさり終わってますが gapi.auth.authorize を使用するためには、ページのhtmlに下記のライブラリを読みこませる必要があります。 ASP.NETの場合はcshtmlに記述すれば良いです。

<script type="text/javascript" src="https://apis.google.com/js/client.js">

パラメータの渡し方

parametersを設定し、配列で記述します。

var request = {
    'function': 'getSheetNames',
    'parameters': ['sheetId', 'hogehoge'],
};

多分これくらいじゃないでしょうか?

正直なところ、C#等のサンプルもありますが、個人的にはC#の場合はそもそも.NET用のAPIライブラリがあるのでそれを使えばいい気がしていました。 しかしSites APIなど、.NET用のライブラリがなかったりすることもあるのでその際の代替手段となりえます。

また、javascriptからはこれまでもdoPostやdoGetを使って同じようなことが出来ましたが、このやり方だと認証がかなりやりやすい(ScriptExplorerで認証してなくてもjavascriptの実行時に認証を聞いてくれる)ことや、同一プロジェクト内に複数functionを定義して管理しやすくするなどの多くの利点があります。

GoogleAppsScriptでユーザーの所属するグループを取得する方法

ハマったのでメモ。

qiita.com

  

f:id:iteduki:20150902153433p:plain 

こんな感じでコードアシストに出てこないとできないと勘違いしがちですが、optionalArgsで結構いろいろ指定できたりします。

  

ただしAPIドキュメントを探しだして確認しないといけないのが難点。

 

このAPIのドキュメントはここ。

Groups: list  |  Directory API  |  Google Developers

 

 

Google Apps Scriptクイックリファレンス

Google Apps Scriptクイックリファレンス

 

 


iTextSharpで既存のpdfに追記する

iTextSharpを使用してpdfの作成を行ったのでメモ。

既存の印刷システムの更改だったため、テンプレートに記述する方法をメインに調べました。

 

詳しくはQiitaに投稿しました。

qiita.com

GoogleAPIの認証方法をClientからOAuth2に切り替える

社内で使用していたSpreadsheetServiceの認証が通らなくなって対応したのでQiitaに投稿しました。

qiita.com

 

Clientログインはサポートを終了したので下記のようなエラーが出ていると思います。

Execution of authentication request returned unexpected result: 404

 

個人的なメモにはここを参考にしたと記録してあります。

が、多分回答ではなくQuestionの認証部分を参考にしたんだと思います。(記憶が曖昧)

stackoverflow.com

 

なお、サービスアカウントはこちらの#68あたりが参考になると思います。

https://code.google.com/p/google-apps-script-issues/issues/detail?id=5101

 

 

「このユーザーアカウントはリモートログインを許可されていないため、接続は拒否されました。」の対応

接続する側をA、リモート接続される側をBとする。

両方ともドメインに参加しているPCです。

 

Aの側からBへリモートデスクトップで接続しようとしたら表題のエラー

このユーザーアカウントはリモートログインを許可されていないため、接続は拒否されました。

が表示されたので対応した際の備忘録。

 

  1. BのPC側で「コンピュータ」を右クリックして「プロパティ」をクリック。
  2. 左側のメニューから「リモートの設定」をクリック。
  3. リモートデスクトップ部分の「リモートデスクトップを実行しているコンピュータからの接続を許可する」を選択してOKをクリック。
  4. コントロールパネルから「ユーザーアカウント」をクリック。
  5. 「ユーザーアカウントの管理」をクリック。
  6. ユーザータブで「追加」をクリックし、ユーザー名とドメインを入力する。

 

実際のところ3までは既にできていた上に、3のところの「ユーザーの選択」にも何も入っていなかった(にも関わらず他の人はログインできていた)ので調べまわった結果、ユーザーアカウントに追加する必要があった模様。

※ログイン出来る人はユーザーアカウントが追加されていた。

 

ログインする際は「ドメイン名\ユーザーアカウント名」でログインする。