我正在尝试获取Spotify API访问令牌。根据Spotify API站点的这些说明:
请求将包括请求正文中的参数:
生成:{“access_token”:“ngcxrkc...mzyjw”,“token_type”:“bearer”,“expires_in”:3600,}
我正试图在这样的球拍中实现这一点:
http.rkt
#lang racket
(require net/http-client net/uri-codec)
(define (post hc endpoint data headers)
(define data-encoded (alist->form-urlencoded data))
(http-conn-send!
hc endpoint
#:method "POST"
#:data data-encoded
#:headers
(list
"Content-Type: application/x-www-form-urlencoded"
(format "Content-Length: ~a" (string-length data-encoded))
headers)))
(provide (all-defined-out))
#lang racket
(require
net/base64 net/http-client net/url-connect
racket/bytes racket/port
"http.rkt")
(struct spotify-client (id secret))
(define (hc) (http-conn-open "accounts.spotify.com" #:ssl? #t))
(define (gen-access-token hc client)
(let* ([credentials (string-append (spotify-client-id client) ":" (spotify-client-secret client))]
[enc (bytes->string/utf-8 (base64-encode (string->bytes/utf-8 credentials)))]
[auth (string-append "Authorization: Basic " enc)]
[data (list (cons 'grant_type "client_credentials"))])
(post hc "/api/token" data auth)
(let-values ([(status-line header-list in-port) (http-conn-recv! hc)])
(displayln (port->string in-port)))))
(provide (all-defined-out))
#lang racket
(require "client.rkt")
(let ([client (spotify-client "<client-id>" "<client-secret>")]
[hc (hc)])
(gen-access-token hc client))
这很奇怪,因为它告诉我,即使我的grant_type是client_credentials(请参见当我调用alist->form-urlencode
on(list(cons'grant_type“client_credentials”))
)时,我的grant_type不受支持。是什么导致了这一切?
更新:我无法使用Racket的HTTP库使代码工作,但当我切换到使用simple-http包时,它工作了:
(define spotify
(update-headers
(update-ssl
(update-host json-requester "accounts.spotify.com") #t)
(list
"Content-Type: application/x-www-form-urlencoded"
"Authorization: Basic ...")))
(define response (json-response-body (post spotify "/api/token" #:data "grant_type=client_credentials")))
(displayln (hash-ref response 'access_token))
我无法从Spotify获得Android应用的访问令牌,因为我可以连接到endpoint。 我需要我的Android应用程序的访问令牌,我尝试了以下方法:1)Spotify Android auth library。我找不到spotify auth版本。他们谈论的aar。2) 手动生成url。下面是一个例子: 当我尝试连接时,我得到了各种可能的错误:“缺少所需的参数:client_id”、“INV
我试图使用请求模块向https://accounts.spotify.com/api/token发出POST请求,以便获得访问令牌。我已经用我的Spotify开发帐户注册了重定向URI。这是我的快速<代码>/重定向 路由。 有人能看到这里可能出了什么问题吗?每次我得到的都是一个不伦不类的“哎呀!出了问题”错误页面。
我正在开发我的第一个Spotify应用程序,现在我正在处理授权过程。 到目前为止,我已经成功地从https://accounts.spotify.com/authorize 现在我通过PHP CURL request发送一个POST请求来获取我的访问令牌。 Spotify对此步骤的说明 我不断收到以下 JSON 错误响应,指示我的grant_type无效,它为我提供了三个有效的选项: {"erro
以下是Spotify API的文档(我使用的是隐式授权流):https://beta . developer . Spotify . com/documentation/general/guides/authorization-guide/# Implicit-Grant-Flow 我正在尝试在Google表格中编写脚本。我专注于基本设置,但我似乎无法让访问令牌正常工作。 解决了的: 我目前收到以
我已经看了几天Spotify api和示例源代码,但我仍然不知道如何获得访问令牌来访问用户的播放列表数据。我已经到了打开登录窗口,用户登录,然后我收到授权码的地步。此时,我尝试做如下事情: 和 但是不管怎样,我得到的结果是: 而不是代币。我肯定这很简单,但我不擅长JS。请帮忙!谢谢! (编辑)我忘了提: api认证指南链接:https://developer.spotify.com/web-api
我目前还不熟悉使用php和Laravel以及使用API,但我一直在学习Spotify php教程https://github.com/jwilsson/spotify-web-api-php. 我还大胆地提出了一些我想问的问题,希望有人能帮忙。 我已经完成了所有步骤,但需要帮助才能让它正常工作。 将下面的代码放在它自己的文件中,我们称之为auth。php。将CLIENT_ID和CLIENT_SEC