flask_dance + Google Search Console API searchAnalytics

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flask_dance + Google Search Console API searchAnalytics相关的知识,希望对你有一定的参考价值。

我目前正在测试Google Search Console API和Flask Dance来执行oauth。

它非常适合获取/ sites,但我得到了一个

ValueError:View函数未返回响应

如果我尝试使用/ search查询searchAnalytics

根据https://developers.google.com/webmaster-tools/search-console-api-original/v3/searchanalytics/query#try-it,它必须是POST +附加数据。例如。:

json={'startDate':'2017-11-01','endDate':'2017-12-01'}

https://developers.google.com/oauthplayground/它的工作原理是这样,但烧瓶舞蹈可悲。有任何想法吗?

import os
from werkzeug.contrib.fixers import ProxyFix
from flask import Flask, redirect, url_for
from flask_dance.contrib.google import make_google_blueprint, google
from raven.contrib.flask import Sentry

app = Flask(__name__)
app.wsgi_app = ProxyFix(app.wsgi_app)
sentry = Sentry(app)
app.secret_key = os.environ.get("FLASK_SECRET_KEY", "supersekrit")
app.config["GOOGLE_OAUTH_CLIENT_ID"] = os.environ.get("GOOGLE_OAUTH_CLIENT_ID")
app.config["GOOGLE_OAUTH_CLIENT_SECRET"] = os.environ.get("GOOGLE_OAUTH_CLIENT_SECRET")
google_bp = make_google_blueprint(scope=["profile", "email", "https://www.googleapis.com/auth/webmasters"])
app.register_blueprint(google_bp, url_prefix="/login")

@app.route("/")
def index():
    return "BlA BLA"

@app.route("/sites")
def sites():
    if not google.authorized:
        return redirect(url_for("google.login"))
    resp = google.get("/webmasters/v3/sites")
    siteEntry = resp.json()["siteEntry"]
    result = ""
    for site in siteEntry:
        result = result + site["siteUrl"] + "</br>"
    return result

@app.route("/search")
def search():
    if not google.authorized:
        return redirect(url_for("google.login"))
    resp = google.post("/webmasters/v3/sites/https%3A%2F%2Fzrce.eu/searchAnalytics/query", json={'startDate':'2017-11-01','endDate':'2017-12-01'})
    print(resp)

if __name__ == "__main__":
    app.run()
答案

所有API路由都应该返回一些东西,即使它是一个空的响应。

只需返回一个响应,它可以是""resp

以上是关于flask_dance + Google Search Console API searchAnalytics的主要内容,如果未能解决你的问题,请参考以下文章

PHP的问题, 不太明白

AJAX遮罩实例

代码实现搜索框

凹点检测

indexOf()

在 RedirectToAction 中传递对象