我在尝试调用 Apple Music API 时一直收到 401 错误。我使用的是 Windows 机器,下面是它的 Python 代码。
import datetime
import jwt
secret = """-----BEGIN PRIVATE KEY-----
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxx
-----END PRIVATE KEY-----"""
kid = 'ABCDEFGHI'
teamId = 'JKLMNOPQRS'
alg = 'ES256'
headers = {
'alg': alg,
'kid': kid
}
payload = {
'iss': teamId,
'iat': 1518033023,
'exp': 1518290267
}
if __name__ == '__main__':
'''Create an auth token'''
token = jwt.encode(payload, secret, algorithm=alg, headers=headers)
print '----CURL----'
print ("curl -v -H 'Authorization: Bearer %s' \"https://api.music.apple.com/v1/catalog/us/playlists/pl.14362d3dfe4b41f7878939782647e0ba\" " % (token))
最佳答案
我在字符串格式化运算符方面遇到了同样的问题。因此使用这个:
"""Create an auth token"""
token = jwt.encode(payload, secret, algorithm=alg, headers=headers)
token_str = token.decode('utf-8') # converts bytes to string
url = "https://api.music.apple.com/v1/catalog/us/playlists/pl.14362d3dfe4b41f7878939782647e0ba"
print("curl -v -H 'Authorization: Bearer" + token_str + "\"" + url + "\"")
进一步:我假设您想直接访问数据。为此,您可以使用 requests图书馆:
import requests
request_obj = requests.get(url, headers={'Authorization': "Bearer " + token_str})
json_dict = request_obj.json()
干杯!
关于python - 如何调用 Apple Music API 并避免 401,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48674386/