Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

eggplants/get-pixivpy-token

Repository files navigation

gppt: get-pixivpy-token

PyPI ghcr ci

Install

pip install gppt

Enable Proxy

Set ALL_PROXY or HTTPS_PROXY to your environment variables.

Run

Example

from gppt import GetPixivToken
from pixivpy3 import AppPixivAPI
def get_refresh_token() -> str:
 with open("token.txt", "w+") as f:
 if refresh_token := f.read().strip():
 return refresh_token
 g = GetPixivToken(headless=True)
 refresh_token = g.login(username="...", password="...")["refresh_token"]
 f.write(refresh_token)
 return refresh_token
aapi = AppPixivAPI()
aapi.auth(refresh_token=get_refresh_token())
...

From Docker

$ docker run --rm -it ghcr.io/eggplants/get-pixivpy-token lh -u <id> -p <pw>
[+]: Success!
access_token: ***
refresh_token: ***
expires_in: 3600

From CLI

# with browser
$ gppt login
[!]: Chrome browser will be launched. Please login.
(Log in to Pixiv from the login screen that starts up.)
[+]: Success!
access_token: ***
refresh_token: ***
expires_in: 3600
...
# with headless browser
$ gppt login-headless -u <id> -p <pw>
[!]: Chrome browser will be launched. Please login.
[+]: Success!
access_token: ***
refresh_token: ***
expires_in: 3600

From Library

from gppt import GetPixivToken
g = GetPixivToken(headless=False,username=None,password=None)
res = g.login(headless=None,username=None,password=None)
  • res.response returns:
{
 "access_token": "***",
 "expires_in": 3600,
 "refresh_token": "***",
 "scope": "",
 "token_type": "bearer",
 "user": {
 "account": "***",
 "id": "***",
 "is_mail_authorized": <bool>,
 "is_premium": <bool>,
 "mail_address": "***@***",
 "name": "***",
 "profile_image_urls": {
 "px_16x16": "https://s.pximg.net/common/images/no_profile_ss.png",
 "px_170x170": "https://s.pximg.net/common/images/no_profile.png",
 "px_50x50": "https://s.pximg.net/common/images/no_profile_s.png"
 },
 "require_policy_agreement": <bool>,
 "x_restrict": 2
 }
}

Help

$ gppt -h
usage: gppt [-h]
 {login,l,login-interactive,li,login-headless,lh,refresh,r} ...
Get your Pixiv token (for running upbit/pixivpy)
positional arguments:
 {login,l,login-interactive,li,login-headless,lh,refresh,r}
 login (l) retrieving auth token
 login-interactive (li)
 `login` in interactive mode
 login-headless (lh)
 `login` in headless mode
 refresh (r) refresh tokens
optional arguments:
 -h, --help show this help message and exit
$ gppt l -h
usage: gppt login [-h] [-u USERNAME] [-p PASSWORD] [-j]
optional arguments:
 -h, --help show this help message and exit
 -u USERNAME, --username USERNAME
 your E-mail address / pixiv ID
 -p PASSWORD, --password PASSWORD
 your current pixiv password
 -j, --json output response as json
$ gppt li -h
usage: gppt login-interactive [-h] [-j]
optional arguments:
 -h, --help show this help message and exit
 -j, --json output response as json
$ gppt lh -h
usage: gppt login-headless [-h] -u USERNAME -p PASSWORD [-j]
optional arguments:
 -h, --help show this help message and exit
 -u USERNAME, --username USERNAME
 your E-mail address / pixiv ID
 -p PASSWORD, --password PASSWORD
 your current pixiv password
 -j, --json output response as json
$ gppt r -h
usage: gppt refresh [-h] [-j] refresh_token
positional arguments:
 refresh_token
optional arguments:
 -h, --help show this help message and exit
 -j, --json output response as json

About

Get your Pixiv token easily (for running upbit/pixivpy)

Topics

Resources

License

Stars

Watchers

Forks

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /