【问题标题】:Not able to get JSON response due to UnicodeDecodeError?由于 UnicodeDecodeError 无法获得 JSON 响应?
【发布时间】:2017-12-13 07:49:47
【问题描述】:

当我尝试运行 python core-backup.py 文件时无法获得 JSON 响应:在代码中 FB_SHORT_ACCESS_TOKEN 和 FB_LONG_ACCESS_TOKEN 相同。

核心备份.py:

import os
from os.path import join
import requests


def refresh_short_token():
    """
    Refresh short access token
    """
    request_url = FB_URL + 'oauth/access_token'
    request_payload = {
        'grant_type': 'fb_exchange_token',
        'client_id': FB_APP_ID,
        'client_secret': FB_APP_SECRET,
        'fb_exchange_token': FB_SHORT_ACCESS_TOKEN
    }
    response = REQ_SESSION.get(request_url, params=request_payload).json()
    # dotenvfile = find_dotenv()
    # load_dotenv(dotenvfile)
    # dotenv.set_key(dotenvfile, "FB_LONG_ACCESS_TOKEN", response['access_token'])
    FB_LONG_ACCESS_TOKEN = response["access_token"]
    # PAYLOAD['access_token'] = dotenv.get_key(dotenvfile, "FB_LONG_ACCESS_TOKEN")
    PAYLOAD['access_token'] = FB_LONG_ACCESS_TOKEN

'''
TODO: refresh_long_token()
    A function to refresh the long term access token
    Current validity: 60 days
'''

def get_feed():
    """
    Fetch feed
    """
    request_url = FB_URL + LTTK_GROUP_ID + '/feed'
    response = REQ_SESSION.get(request_url, params=PAYLOAD)
    if response.status_code == 400:
        refresh_short_token()
    print(response.json())
    return response.json()

def main():
    """
    Fetch posts from a Facebook group and populate in database
    """
    get_feed()

if __name__ == "__main__":
    main()

运行 core-backup.py 后,我在 windows7 中收到 UnicodeDecodeError 文件。如何解决这个问题。 看截图更清楚:

文件的完整代码可以在这里找到: https://gist.github.com/anonymous/2ab9e023d631a7cc4dad15237104ee34

【问题讨论】:

    标签: python json facebook-graph-api


    【解决方案1】:

    您的代码页似乎设置为 cp437。在运行 python 脚本之前,尝试通过在终端中输入以下行来将 python 输出设置为 utf-8。

    set PYTHONIOENCODING=UTF-8
    python core-backup.py
    

    【讨论】:

      【解决方案2】:

      尝试将响应编码更改为UTF-8

      response.encoding = 'UTF-8'
      print(response.json())
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-01
        • 2020-06-10
        相关资源
        最近更新 更多