Go言語を使ってはてなブックマークを自動的に操作することは、興味深いウェブページを効果的に管理する手段となります。この記事では、Go言語を使ってはてなブックマークの取得と新しいブックマークの追加を行うための基本的なコード例を提供します。
1. はてなAPIキーの取得
はてなAPIを使用するには、はてなデベロッパーでアプリケーションを登録し、APIキーを取得する必要があります。APIキーは、認証および操作を行うための重要な情報です。
2. Go言語ではてなAPIを利用する
Go言語を使用してはてなAPIを利用するための基本的なスクリプトを以下に示します。
package main import ( "fmt" "io/ioutil" "net/http" ) func main() { // はてなAPIキー apiKey := "Your_Hatena_API_Key" // ブックマークを取得するためのAPIエンドポイント endpoint := "https://bookmark.hatenaapis.com/rest/1/my/bookmark" // ユーザー名 user := "Your_Username" // APIリクエストの作成 url := fmt.Sprintf("%s/%s", endpoint, user) req, err := http.NewRequest("GET", url, nil) if err != nil { panic(err) } req.Header.Set("Authorization", "Bearer "+apiKey) // リクエストの実行 client := &http.Client{} resp, err := client.Do(req) if err != nil { panic(err) } defer resp.Body.Close() // レスポンスの読み取り body, err := ioutil.ReadAll(resp.Body) if err != nil { panic(err) } // レスポンスの表示 fmt.Println(string(body)) }
このGoプログラムでは、はてなAPIの「ブックマークを取得する」エンドポイントを使用して、指定したユーザーのブックマークを取得しています。APIキー、ユーザー名、エンドポイントはそれぞれ自分のものに置き換えてください。
3. 新しいブックマークを追加する
次に、Go言語を使用して新しいブックマークをはてなブックマークに追加するコード例を示します。
package main import ( "fmt" "net/http" "net/url" "strings" ) func main() { // はてなAPIキー apiKey := "Your_Hatena_API_Key" // ブックマークを追加するためのAPIエンドポイント endpoint := "https://bookmark.hatenaapis.com/rest/1/my/bookmark" // 新しいブックマークのデータ data := url.Values{} data.Set("url", "https://example.com") data.Set("comment", "素晴らしいウェブサイト") data.Set("tags", "Go,はてなブックマーク,自動化") // APIリクエストの作成 req, err := http.NewRequest("POST", endpoint, strings.NewReader(data.Encode())) if err != nil { panic(err) } req.Header.Set("Authorization", "Bearer "+apiKey) req.Header.Set("Content-Type", "application/x-www-form-urlencoded") // リクエストの実行 client := &http.Client{} resp, err := client.Do(req) if err != nil { panic(err) } defer resp.Body.Close() // レスポンスの表示 fmt.Println(resp.Status) }
このGoプログラムでは、はてなAPIの「ブックマークを追加する」エンドポイントを使用して新しいブックマークを追加しています。data
変数には、追加するブックマークのURL、コメント、およびタグが含まれています。
4. まとめ
Go言語を使用してはてなブックマークの自動化を行うための基本的なスクリプトがわかりました。はてなAPIを使って様々な操作が可能です。これらのコードをベースにして、自分の用途に合わせて拡張してみてください。ブックマークの取得や新規追加だけでなく、他のAPIエンドポイントを利用してより高度な操作も可能です。