vk_api

package module
v0.0.0-...-159e5e3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 3, 2015 License: BSD-3-Clause Imports: 7 Imported by: 0

README

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

Documentation

Index

Constants

View Source
const API_METHOD_URL = "https://api.vk.com/method/"
View Source
const AUTH_HOST = "https://oauth.vk.com/authorize"

Variables

This section is empty.

Functions

func ParseResponseUrl

func ParseResponseUrl(responseUrl string) (string, string, string, error)

Types

type Api

type Api struct {
	AccessToken string
	UserId      string
	ExpiresIn   string
	// contains filtered or unexported fields
}

func (*Api) GetAuthUrl

func (vk *Api) GetAuthUrl(redirectUri string, responseType string, client_id string, scope string) (string, error)

func (*Api) LoginAuth

func (vk *Api) LoginAuth(email string, password string, client_id string, scope string) error

func (*Api) Request

func (vk *Api) Request(methodName string, params map[string]string) string

func (*Api) SetDebug

func (vk *Api) SetDebug(s bool)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL