読者です 読者をやめる 読者になる 読者になる

Go言語入門 / golang 入門 Oauth1.0aではてなブログAPIにアクセスする

f:id:nasust:20161122141513p:plain The Go gopher was designed by Renee French. (http://reneefrench.blogspot.com/) CC3.0

こんにちはnasustです。
Oauth1.0aではてなブログAPIにアクセスするサンプルです。

GitHub - garyburd/go-oauth: OAuth 1.0 client package for Go

このライブラリを使用してアクセスしています。

Go言語 / golangでアクセストークンを取得する例は以下の記事にあります。

Go言語 / golangで、はてなAPIをOauth1.0aでアクセスする為にトークンを得る - nasust blog

package main

import (
    "fmt"
    "io/ioutil"
    "log"

    "github.com/garyburd/go-oauth/oauth"
)

func main() {
    oauthClient := &oauth.Client{
        Credentials: oauth.Credentials{
            Token:  "XXXXXXXXXXXXXX",
            Secret: "XXXXXXXXXXXXXX",
        },
        TemporaryCredentialRequestURI: "https://www.hatena.com/oauth/initiate",
        ResourceOwnerAuthorizationURI: "https://www.hatena.com/oauth/authorize",
        TokenRequestURI:               "https://www.hatena.com/oauth/token",
    }

    accessToken := oauth.Credentials{
        Token:  "XXXXXXXXXXXXXXX",
        Secret: "XXXXXXXXXXXXXXX",
    }

    response, err := oauthClient.Get(nil, &accessToken, "https://blog.hatena.ne.jp/nasust/nasust.hatenablog.com/atom", nil)

    if err != nil {
        log.Fatal("Get Err: ", err)
        panic(-1)
    }

    fmt.Println("Status: ", response.Status)

    bodyData, err := ioutil.ReadAll(response.Body)

    if err != nil {
        log.Fatal("Read Err:", err)
        panic(-1)
    }

    bodyStr := string(bodyData)

    fmt.Println(bodyStr)
}

結果:

Status:  200 OK
<?xml version="1.0" encoding="utf-8"?>
<service xmlns="http://www.w3.org/2007/app">
  <workspace>
    <atom:title xmlns:atom="http://www.w3.org/2005/Atom">nasust blog</atom:title>    <collection href="https://blog.hatena.ne.jp/nasust/nasust.hatenablog.com/atom/entry">
      <atom:title xmlns:atom="http://www.w3.org/2005/Atom">nasust blog - 記事一覧</atom:title>
      <accept>application/atom+xml;type=entry</accept>
    </collection>
  </workspace>
</service>

Go言語 / golang 入門 目次に戻る

広告を非表示にする