Go library for accessing Instagram REST and Search APIs
Go
Permalink
Failed to load latest commit information.
examples Init. Jul 3, 2013
instagram Make error handler on response more robust. May 15, 2015
.gitignore Init. Jul 3, 2013
.travis.yml Added .travis.yml Jul 13, 2013
AUTHORS Added authors list. Feb 8, 2014
LICENSE.md Init. Jul 3, 2013
README.md Added drone and coveralls badges. Nov 4, 2014
go-github-LICENSE.md Init. Jul 3, 2013

README.md

go-instagram

go-instagram is Go library for accessing Instagram REST and Search APIs.

Documentation: http://godoc.org/github.com/gedex/go-instagram/instagram

Build Status: Build Status Build Status Coverage Status

Basic Usage

Access different parts of the Instagram API using the various services on a Instagram Client:

// You can optionally pass your own HTTP's client, otherwise pass it with nil.
client := instagram.NewClient(nil)

You can then optionally set ClientID, ClientSecret and AccessToken:

client.ClientID = "8f2c0ad697ea4094beb2b1753b7cde9c"

With client object set, you can communicate with Instagram endpoints:

// Gets the most recent media published by a user with id "3"
media, next, err := client.Users.RecentMedia("3", nil)

Set optional parameters for an API method by passing an Parameters object.

// Gets user's feed.
opt := &instagram.Parameters{Count: 3}
media, next, err := client.Users.RecentMedia("3", opt)

Please see examples/example.go for a complete example.

Data Retrieval

The methods which return slice in first return value will return three values (data, pagination, and error). Here's an example of retrieving popular media:

media, next, err := client.Media.Popular()
if err != nil {
    fmt.Fprintf(os.Stderr, "Error: %v\n", err)
}
for _, m := range media {
    fmt.Printf("ID: %v, Type: %v\n", m.ID, m.Type)
}
if next.NextURL != "" {
    fmt.Println("Next URL", next.NextURL)
}

If a single type is returned in first return value, then only two values returned. Here's an example of retrieving user's information:

user, err := client.Users.Get("3")
if err != nil {
    fmt.Fprintf(os.Stderr, "Error: %v\n", err)
}
fmt.Println("Username", user.Username)

Credits

License

This library is distributed under the BSD-style license found in the LICENSE file.