【问题标题】:Twython 401 Error for Raspberry Pi TweetbotRaspberry Pi Tweetbot 的 Twython 401 错误
【发布时间】:2015-06-05 07:36:03
【问题描述】:

为了同时发布照片(取自 picamera)和状态更新,我在我的树莓派上运行了以下代码:

!/usr/bin/env python
import sys
from twython import Twython
import os

import pygame
import pygame.camera
from pygame.locals import *

pygame.init()
pygame.camera.init()
cam = pygame.camera.Camera("/dev/video0",(640,480))
cam.start()
image = cam.get_image()
pygame.image.save(image,'webcam.jpg')

CONSUMER_KEY = 'X'
CONSUMER_SECRET = 'X'
ACCESS_KEY = 'X'
ACCESS_SECRET = 'X'

photo = open('webcam.jpg','rb')
api = Twython(CONSUMER_KEY,CONSUMER_SECRET,ACCESS_KEY,ACCESS_SECRET)
api.update_status_with_media(media=photo, status='Hello There!')

正确填写访问和令牌密钥后,我收到以下错误:

'Twitter API returned a 401 (unauthorised), Timestamp out of bounds' 

将我的树莓派和 Twitter 帐户配置到同一时区后,问题仍然存在。

有人有解决办法吗?

谢谢!

【问题讨论】:

  • 在代码中,您将“X”分配给了 CONSUMER 和 ACCESS KEY 和 SECRET。我认为那是因为你想向公众隐藏你的价值观。如果“X”也出现在您的私人脚本副本中,那么这可能是问题所在。 Twitter 只是抱怨你没有被授权。你是否向 Twitter 请求了 API 密钥?
  • 感谢您的回复。我快速重新生成了 API 密钥,这似乎修复了 400 错误,但现在运行时它收到以下消息:'Twitter API 返回 401(未经授权)。时间戳超出范围'。有任何想法吗?再次感谢
  • 对我来说似乎是同样的错误信息???
  • “这意味着你的服务器时间已经关闭了超过 30 秒(实际时间不包括时区差异)。查看响应头以了解 Twitter 的时间。”

标签: twitter raspberry-pi twython


【解决方案1】:

来自here

"表示你的服务器时间关闭超过30秒(实际 时间不包括时区差异)。查看响应头 看看 Twitter 的时间。”

因此,您必须将服务器时间设置为与 Twitter 时间匹配。检查 Twitter 响应的标头,在 Date 字段中查找时间并将其与您的 raspberry pi os 时间进行比较(并相应地进行更改)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-12
    • 2018-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多