Skip to content

Api client (wrapper) for VKontakte with login/pass authorization (hack) on Go (golang).

License

Notifications You must be signed in to change notification settings

sisteamnik/vk_api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Api client for VKontakte with login/pass authorization (hack) on Go (golang).

###Plus: masking client_id to the iPhone, Android, iPad, Windows Phone clients.

go (golang) api client for vk.com

###Get

    go get github.com/yanple/vk_api
    // and dependence
    go get github.com/PuerkitoBio/goquery

###Import

    @import "github.com/yanple/vk_api"

##How to use

###Login/pass auth

	var api vk_api.Api
	err := api.LoginAuth(
		"email/phone",
		"pass",
		"3087104", // client id
		"wall,offline", // scope (permissions)
	)
	if err != nil {
		panic(err)
	}

###By user auth (click "allow" on special vk page)

	var api vk_api.Api
	authUrl, err := api.GetAuthUrl(
		"domain.com/method_get_access_token", // redirect URI
		"token", // response type
		"4672050", // client id
		"wall,offline", // permissions https://vk.com/dev/permissions
	)
	if err != nil {
		panic(err)
	}
	YourRedirectFunc(authUrl)

	//	And receive token on the special method (redirect uri)
	currentUrl := getCurrentUrl() // for example "yoursite.com/get_access_token#access_token=3304fdb7c3b69ace6b055c6cba34e5e2f0229f7ac2ee4ef46dc9f0b241143bac993e6ced9a3fbc111111&expires_in=0&user_id=1"
	accessToken, userId, expiresIn, err := api.ParseResponseUrl(currentUrl)
	if err != nil {
		panic(err)
	}
	api.AccessToken = accessToken
	api.UserId = userId
	api.ExpiresIn = expiresIn

###Make query to API

	params := make(map[string]string)
	params["domain"] = "yanple"
	params["count"] = "1"

	strResp := api.Request("wall.get", params)
	if strResp != "" {
		pretty.Println(strResp)
	}

All api methods on https://vk.com/dev/methods

###Client ids (Masking only for login/pass auth)

    // client_id = "28909846" # Vk application ID (Android) doesn't work.
	// client_id = "3502561"  # Vk application ID (Windows Phone)
	// client_id = "3087106"  # Vk application ID (iPhone)
	// client_id = "3682744"  # Vk application ID (iPad)

License

Vk_api by Yanple is BSD licensed

About

Api client (wrapper) for VKontakte with login/pass authorization (hack) on Go (golang).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages