我只是开始学习编程(以及python,flask),而我却无法自行解决(或使用google)。
我正在尝试通过youtube数据v3访问我的youtube频道数据,并且正在使用正式的google库进行oauth和数据检索。
以下代码是我正在使用的代码。该方法的返回效果很好,但是它只能在我的浏览器中呈现json响应,而我无法“捕获”并处理它。
@app.route('/')
def index():
if 'credentials' not in flask.session:
return flask.redirect('authorize')
credentials = google.oauth2.credentials.Credentials(
**flask.session['credentials'])
client = googleapiclient.discovery.build(
API_SERVICE_NAME, API_VERSION, credentials=credentials)
return channels_list_by_username(client,
part='snippet,contentDetails,statistics',
forUsername='username')
我当时正在考虑将调用放在一个新变量json.dump()中,然后像这样访问响应并访问它,但这是行不通的。
对此有任何帮助,我们深表感谢。谢谢!
答案 0 :(得分:0)
您可以将调用的结果存储到变量中,进行处理然后返回
@app.route('/')
def index():
if 'credentials' not in flask.session:
return flask.redirect('authorize')
credentials = google.oauth2.credentials.Credentials(
**flask.session['credentials'])
client = googleapiclient.discovery.build(
API_SERVICE_NAME, API_VERSION, credentials=credentials)
# Here is your variable
channels = channels_list_by_username(client,
part='snippet,contentDetails,statistics',
forUsername='username')
# Process it
print(channels)
# Add other processing stuff here
# Return it
return channels
答案 1 :(得分:0)
我认为在查看youtube API的源代码后,我明白了您的要求。
channels_list_by_username()
print
将一些信息输出到标准输出。您不想打印它,而是想要实际数据以便处理它,对吗?快速浏览一下该API,我猜您可以尝试这样的事情:
...
client = googleapiclient.discovery.build(
API_SERVICE_NAME, API_VERSION, credentials=credentials)
results = client.channels().list(
part='snippet,contentDetails,statistics',
forUsername='username'
).execute()
... process data here ...
return results
看起来您的代码来自youtube API示例,该示例仅用于说明如何实现API。检查实际文档以查看如何获取原始数据。