2

STEM の大学教師として、テクノロジーを使って生徒の学習体験を向上させることができるのが好きです。また、クールなテクノロジーを生徒に紹介できるのも 2 倍の喜びです。

昨年、いくつかのクラスで Posterous サイト (http://spectrawiki.posterous.com) に投稿したり、他のユーザーの投稿にコメントを投稿したりしました。これはコースに必須であり、私はクラスの活動を追跡することに悩まされています。

必要なデータ (誰が投稿したか、いつ投稿したか、記事やコメントを投稿したかどうか) を提供する方法でサイト コンテンツをダウンロードできればと思っていましたが、Posterous にはこの機能がありません。非常に反応の良い Posterous Tech から、API を検討するよう提案されました。

しかし、私はコーダーではありません。私はコーディング (HTML、PHP、matlab、python、R、Mathematica) について十分に理解しており、自分が何をしているかを本当に理解している人を尊重しています。

そこで、スタック オーバーフロー コミュニティに質問します。何か (Python スクリプトなど) を API とハックして、探しているデータ (上記のリスト) を取得するにはどうすればよいでしょうか? スクリプトを作成する手順を説明するチュートリアルはありますか? これまで API を使用したことがないため、どこから始めればよいかわかりません。

ご指摘ありがとうございます。

[編集]: Posterous API Reference には、このような例があります

 curl -X PUT --user you@example.com:password -d "api_token=<your token>" -d "post[title]=New Title" http://posterous.com/api/2/sites/12345/posts/6789

APIがRESTfulであることについて話すとき。この curl コマンドを変更して、 Posterous サイトに関するある種の情報を返すにはどうすればよいですか? (おそらく) 認証フラグとそのトークン フラグを処理できます。しかし、他のフラグを使用すると、ポインターを使用できます。

4

1 に答える 1

2

フォローアップ、2012 年 12 月 5 日: pyposterous が機能しなくなったようです。私のスクリプトは失敗し、pyposterous は単体テストに失敗します。残念。

====

実際、Pyposterous は私の質問に答えるツールを提供してくれたので、ここで他の人のために共有したいと思いました。私が書いたスクリプトは次のとおりです。

import datetime
import pyposterous
from pyposterous import Cursor

api = pyposterous.API(username='[username]', password='[passwd]')

d=datetime.datetime.today().strftime("%y%B%d-%H%M")
filename = 'report-posts-' + str(d) +'.txt' 
log=open(filename,'w')

for post in Cursor(method=api.read_posts, start_page=1, parameters={'hostname':'spectrawiki'}):
    try:
        print >> log,  "--------------------"
        print >> log, "%s, %s, %s" % (post.author, post.date, post.title)
    except AttributeError:
        pass # No comments
    except UnicodeEncodeError:
        pass

これは大雑把なスクリプトですが、基本的な仕事は完了しています。

于 2011-10-14T21:02:27.060 に答える