/instagram-go-api

instagram API for Go lang

Primary LanguageGo

instagram-go-api

This is Instagram API library for Go lang

Environment

Developed on Go 1.4.1

How to use


Configuration

var client = instagram.NewClient(func(config *instagram.Config){
	config.ClientId = ""
	config.ClientSecret = ""
	config.RedirectUri = "http://localhost"
})

AuthorizeURL

var url = client.AuthorizeURL()

or

var url = client.AuthorizeURLWithScope([]string{"likes","comments","relationships"})

RequestToken

data, err := client.RequestAccessToken(token)

or, if you have already access token

client.SetAccessToken(accessToken)

APIs


Return Values

in most cases, API method returns three values 1: The data you want from API (the value of "data") 2: Whole Json data including meta, pagination, data 3: error


Users

http://instagram.com/developer/endpoints/users/

user, content, err := client.Users.Get(userId)

user, content, err := client.Users.Self()

var params = url.Values{}
items, content, err := client.Users.SelfFeed(params)

items, content, err := client.Users.RecentMedia(userId, params)

items, content, err := client.Users.LikedMedia(params)

items, content, err := client.Users.Search(query, 5)

Media

http://instagram.com/developer/endpoints/media/

media, content, err := client.Media.Get(mediaId)

media, content, err := client.Media.Shortcode(shortcode)

items, content, err := client.Media.Popular()

var params = url.Values{}
items, content, err := client.Media.Search(params)

Likes

http://instagram.com/developer/endpoints/likes/

items, content, err := client.Likes.Get(mediaId)

content, err := client.Likes.Post(mediaId)

content, err := client.Likes.Del(mediaId)

Relationships

http://instagram.com/developer/endpoints/relationships/

items, content, err := client.Relationships.Follows(userId)

items, content, err := client.Relationships.FollowedBy(userId)

items, content, err := client.Relationships.RequestedBy()

relationship, content, err := client.Relationships.GetRelationship(userId)

relationship, content, err := client.Relationships.PostRelationship(userId, "follow")

relationship, content, err = client.Relationships.PostRelationship(userId, "unfollow")

Comments

http://instagram.com/developer/endpoints/comments/

items, content, err := client.Comments.Get(mediaId)

content, err := client.Comments.Post(mediaId, text)

content, err := client.Comments.Get(mediaId, commentId)

Tags

http://instagram.com/developer/endpoints/tags/

tag, content, err := client.Tags.Get(tagName)

items, content, err := client.Tags.RecentMedia(tagName, nil)

var params = url.Values{}
items, content, err := client.Tags.Search(params)

Locations

http://instagram.com/developer/endpoints/locations/

location, content, err := client.Locations.Get(locationId)

var params = url.Values{}
items, content, err := client.Locations.RecentMedia(locationId, params)

items, content, err := client.Locations.Search(params)

Geography

http://instagram.com/developer/endpoints/geographies/\

var params = url.Values{}
location, content, err := client.Geographies.RecentMedia(geoId, params)