長時間的潛伏者,第一次問askerer。請原諒任何錯別字,因爲我在消費咖啡和打字準確度之間有反比關係。試圖建立簡單的文件上傳Facebook的應用程序
我想要做的是創建一個簡單的上傳應用程序的粉絲facebook頁面。我決定用Python編寫它,因爲它是我知道的唯一語言,並且得到了FB Dev的支持。
此應用程序的目標是相當適度的:
- 用戶應該能夠簡單地點擊一個框,將打開一個對話框來選擇他們的硬盤驅動器上的文件,並將其上傳到雲端(我已經落戶保管箱,更多關於這個)
- 上傳者應該只接受特定的文件擴展名。
- 用戶應該能夠瀏覽並能夠下載所述文件。
- 應用程序應該能夠檢測到洪水的嘗試,並在理想的世界能夠檢測到哪些Facebook用戶正在上傳他們。 (這是對我的編碼「技能」的一個可悲的控訴,這個目標的後半部分是一個伸展目標)。
- 用戶應該能夠理想地將文件雲遷移到雲,以及將雲遷移到磁盤。這並不重要。
好吧,現在我已經制定了我的大作品的目標,我會跟着我在哪裏,在謙卑接近溢出神指導之前。
因此,首先我在Heroku上創建了一個帳戶,並在那裏創建了應用程序。它現在基本上就坐在那裏,沒有任何代碼。
在此之後,我開始瀏覽簡單的Python文件上傳器。經過搜索後,我在DropBox開發站點上找到了這個代碼。所以我通過了一個Dropbox SDK的註冊,並且必須通過這個http://pypi.python.org/pypi/setuptools 來安裝「setup tools」,我使用了ez_setup.py,並且簡單地運行了那個似乎通過「setuptools模塊」找不到錯誤的那個。
我已經張貼下面的代碼。
# Include the Dropbox SDK libraries
from dropbox import client, rest, session
# Get your app key and secret from the Dropbox developer website
APP_KEY = 'xxxxxetc.'
APP_SECRET = 'xxxxxetc.'
# ACCESS_TYPE should be 'dropbox' or 'app_folder' as configured for your app
ACCESS_TYPE = 'dropbox'
sess = session.DropboxSession(APP_KEY, APP_SECRET, ACCESS_TYPE)
request_token = sess.obtain_request_token()
# Make the user sign in and authorize this token
url = sess.build_authorize_url(request_token)
print "url:", url
print "Please authorize in the browser. After you're done, press enter."
raw_input()
# This will fail if the user didn't visit the above URL and hit 'Allow'
access_token = sess.obtain_access_token(request_token)
client = client.DropboxClient(sess)
print "linked account:", client.account_info()
f = open('working-draft.txt')
response = client.put_file('/magnum-opus.txt', f)
print "uploaded:", response
folder_metadata = client.metadata('/')
print "metadata:", folder_metadata
f, metadata = client.get_file_and_metadata('/magnum-opus.txt',rev='362e2029684fe')
out = open('magnum-opus.txt', 'w')
out.write(f.read())
print(metadata)
此後我在錯誤
Traceback (most recent call last):
File "F:/Python27/FAUploader (Roaring-gorge)/Roaringgorge101", line 2, in <module>
from dropbox import client, rest, session
File "F:\Python27\dropbox\__init__.py", line 3, in <module>
from . import client, rest, session
File "F:\Python27\dropbox\client.py", line 52, in <module>
from .rest import ErrorResponse, RESTClient
File "F:\Python27\dropbox\rest.py", line 8, in <module>
import pkg_resources
ImportError: No module named pkg_resources
我開始得到一點點擔心,這可能會在錯誤的方向&行進到達一世在編碼方面不是很好,甚至在尋求幫助時更差。所以我現在只是在我花太長時間試着讓我的問題太完美之前發佈這個。我真的在學習編碼,如果你們能夠幫助我朝着正確的方向發展,那將不勝感激。看起來每個人,即使是經驗不多的人,都能夠比我更快地完成這類項目。
這些都是我一直在使用的參考資料/網站,我訪問過
https://www.dropbox.com/developers
我不允許張貼多個超鏈接,因爲我太小白,很明顯。 '-_-
無論如何我離題了,任何幫助將不勝感激。
編輯/進展報告
所以我設法更新Python的環境,讓過去在上面的職位描述的錯誤。不過,我只能成功地獲得一個令我更加困惑的新人。
Traceback (most recent call last):
File "F:\Python27\FAUploader (Roaring-gorge)\Roaringgorge101", line 22, in <module>
access_token = sess.obtain_access_token(request_token)
File "build\bdist.win-amd64\egg\dropbox\session.py", line 205, in obtain_access_token
response = self.rest_client.POST(url, headers=headers, params=params, raw_response=True)
File "build\bdist.win-amd64\egg\dropbox\rest.py", line 260, in POST
return cls.IMPL.POST(*n, **kw)
File "build\bdist.win-amd64\egg\dropbox\rest.py", line 207, in POST
post_params=params, headers=headers, raw_response=raw_response)
File "build\bdist.win-amd64\egg\dropbox\rest.py", line 183, in request
raise ErrorResponse(r)
ErrorResponse: [401] u'Token is disabled or invalid'
>>>
我試圖與DropBox的,如果有在可能幫助我的所有應用什麼,直接看到周圍碴,但代碼,我的瀏覽器,Dropbox的應用程序似乎都完全忽略對方。
再次很多幫助表示讚賞。我想我可能會在一段時間內對我的頭撞一些SQL。
當人們意識到咖啡消耗與打字能力之間的反比關係時,應該仔細地按照咖啡量的比例來仔細校對自己的帖子消耗。 –
你應該知道你的帖子太長了99.9%的讀者 – wroniasty
@wroniasty:他的帖子很長,但它會幫助他得到一個很好的答案。有些問題非常具體,需要回答一些背景。它有介紹,明確的要求和OP自己的考慮和研究努力。我認爲這是關於SO的一個很好的第一個問題。 –