2011-11-15 9 views
5

Tôi đang cố tạo một ứng dụng web có thể đọc các tệp Dropbox của người dùng. Nếu nó giúp trả lời câu hỏi, tôi yêu cầu tên người dùng và mật khẩu. Tôi đã tìm kiếm và tìm thấy trong Google Code một thư viện sử dụng OAuth để truy cập tất cả dữ liệu trong Dropbox của người dùng.Làm thế nào để cài đặt oAuth nếu tôi không thể truy cập máy chủ?

Vấn đề của tôi là tôi chưa cài đặt OAuth trong máy chủ. Tôi cần phải cài đặt nó nhưng tôi không có quyền truy cập vật lý vào máy chủ cũng không phải tập tin php.ini, vì vậy tôi không thể quá.

Câu hỏi của tôi là nếu tôi có thể cài đặt hoặc ít nhất mô phỏng nó tải lên một số tệp (mà tôi có thể sử dụng như một lớp) vào thư mục của mình hoặc nếu có cách nào khác thay vì gọi tới Máy chủ và yêu cầu họ cài đặt nó, nếu có thể.

Nếu có cách truy cập tệp php.ini và sửa đổi nó để thêm phần mở rộng OAuth, hoặc nếu nó có thể được thực hiện thông qua .htaccess (như cơ hội cuối cùng) nó cũng sẽ giúp ích.

Cảm ơn.

Chỉnh sửa: Lỗi tôi nhận được là: Ngoại lệ không được thực hiện 'Dropbox_Exception' với thông báo 'Không thể tìm thấy lớp OAuth! Bạn đã cài đặt và bật tiện ích mở rộng oauth chưa? '

+0

Đó là tiện ích mở rộng pecl và không yêu cầu bất kỳ thứ gì được biên soạn. Chỉ cần trích xuất các tệp có liên quan và tải chúng lên máy chủ. –

+0

Nếu bạn muốn tải chúng lên lib/php5/pecl hoặc một cái gì đó tương tự, tôi không thể truy cập vào phần đó của máy chủ. Máy chủ đang lưu trữ và tôi chỉ có quyền truy cập vào các tệp của riêng tôi (như tệp web) qua FTP. Tôi không thể truy cập vào cấu hình cũng như thư mục nằm ngoài quyền của mình. – Unapedra

+0

Bạn có thể cài đặt các phần mở rộng PHP ở bất cứ đâu, bao gồm các thư mục bạn có quyền truy cập. Miễn là bạn biết đường dẫn đầy đủ dẫn đến thư mục đó, bạn có thể bao gồm chúng theo cách đó. –

Trả lời

5

Bạn không cần để sử dụng tiện ích OAuth, bạn có thể làm tốt bằng cách gộp mọi thư viện triển khai OAuth.

Trang web OAuth có several options được liệt kê trên trang web của họ. Không chỉ cho PHP mà còn cho nhiều ngôn ngữ khác nhau.


Các tài liệu cho dropbox library mà bạn đang sử dụng, khẳng định:

Thư viện tận dụng OAuth. Tại thời điểm này bạn có thể sử dụng một trong các thư viện :

Việc gia hạn được khuyến khích, nhưng nếu bạn không thể cài đặt phần mở rộng php bạn nên đi cho lê gói.

Vì bạn không thể cài đặt tiện ích mở rộng php, sau đó download the HTTP OAUTH library.

Bên trong thư mục "HTTP" là các tệp bạn cần, vì vậy bạn có thể bao gồm tệp theo cách thủ công.

+0

Tôi đã cố đoán cách sử dụng chúng. Vấn đề là thư viện mà tôi đang sử dụng (http://goo.gl/p7LjU) sử dụng một lớp OAuth mà tôi không có. Tôi đã cố gắng tìm kiếm nó một lần nữa và một lần nữa và tôi không thể tìm thấy nó. Các lỗi tôi nhận được là sau đây: "Uncaught ngoại lệ 'Dropbox_Exception' với tin nhắn 'OAuth lớp không thể được tìm thấy! Bạn đã cài đặt và kích hoạt phần mở rộng oauth?'" – Unapedra

+0

Tôi cập nhật câu trả lời :) – pablasso

2

OAuth là giao thức. Giống như có trình theo dõi và khách hàng (hạt giống và đồng nghiệp) qua giao thức Bittorrent, có nhà cung cấp dịch vụ (Dropbox tại đây) và người tiêu dùng (ứng dụng của bạn) qua giao thức OAuth.

Bạn cần thư viện triển khai OAuth, như @pablasso nói.

(Pardon so sánh của tôi về một P2P và một client-server)


OAuth-php thực hiện máy chủ và phía khách hàng của OAuth. Tôi đã viết cả máy chủ và máy khách với thư viện này. Khách hàng có thể được cấu hình để sử dụng (chỉ) cửa hàng $ _SESSION.

http://code.google.com/p/oauth-php/

Nhưng bạn có thể bị từ tài liệu khó hiểu, mặc dù bạn có thể viết toàn bộ khách hàng trong 100 dòng. Hãy kiểm tra các ví dụ khách hàng được bao gồm.

Bạn cũng cần tiện ích CURL trên máy chủ của mình để thực hiện yêu cầu HTTP đối với DropBox.


Bạn cũng có thể cần hiểu cơ bản về quy trình làm việc của Giao thức.

http://oauth.net/core/1.0a/

+0

Tôi đã nhìn nó và tôi vẫn có cùng một vấn đề, đó là thư viện Dropbox mà tôi đang cố gắng sử dụng cần có phần mở rộng OAuth. Nếu tôi có thể, tôi sẽ viết một khách hàng và một máy chủ cho porpouse của tôi nhưng tiếc là tôi không biết làm thế nào và tôi phải sử dụng thư viện Dropbox này. Cảm ơn anyway cho câu trả lời! – Unapedra

+0

Bạn chỉ cần thực hiện phía máy khách! Ứng dụng của bạn sẽ là phần "người tiêu dùng" của thiết lập OAuth. – aitchnyu

+0

Và từ câu hỏi của bạn, tôi (và @pablasso) cho rằng bạn cần một thư viện triển khai OAuth để bạn có thể thực hiện phần xác thực của API Dropbox https://www.dropbox.com/developers/reference/api. Tôi đoán bây giờ bạn cần phải nhận được các OAuth libs làm việc với dropbox-php. Chúc may mắn! – aitchnyu