2015-05-24 70 views
0

爲了鳴叫既有照片(從picamera拍攝)和狀態更新,我跑了下面的代碼在我的樹莓派:Twython 401錯誤的樹莓派Tweetbot

!/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' 

同時配置我的覆盆子pi和Twitter賬戶在同一時區後,問題依然存在。

有沒有人有解決方案?

謝謝!

+0

在您將代碼'X'分配給CONSUMER和ACCESS KEY和SECRET的代碼中。我認爲這是因爲你想隱藏你的價值觀。如果'X'也出現在腳本的私人副本中,那麼這可能是問題所在。 Twitter只是呻吟說你沒有被授權。你有沒有要求Twitter的API密鑰? –

+0

欣賞您的回覆。我做了一個API Key的快速重建,它似乎修復了400錯誤,儘管現在它運行時收到以下消息:'Twitter API返回了401(未授權)。時間戳越界「。有任何想法嗎?再次感謝 – Dgupta

+0

對我來說,它似乎是相同的錯誤消息? –

回答

0

here

"It means that your server time is off by more than 30 seconds (actual time not including time-zone differences). Look at the response header to see what Twitter's time is."

所以,你必須設置你的服務器相匹配的Twitter的時間的時間。檢查Twitter響應的標題,查看Date字段中的時間,並將其與您的樹莓派時間進行比較(並相應地更改)。