0

小さな Dropbox ベースのアプリを開発しました。symfony 1.4 と dropbox-php ライブラリを使用して、PHP ですべてのコーディングを行いました。私のマシンでは、ローカルではすべて正常に動作します。しかし、パブリック テスト サーバーでは、dropbox-php ライブラリはリクエスト トークンの取得に失敗します。

アプリ キーとアプリ シークレットは両方のマシンで同じであり、OAuth ライブラリとして PHP OAuth 拡張機能を使用しています。Dropbox アプリは開発モードで、Dropbox アプリ ダッシュボードから追加のユーザーを有効にしました。

これが役立つかどうかはわかりませんが、コードは次のとおりです。

$oauth = new Dropbox_OAuth_PHP(sfConfig::get('app_dropbox_app_key'), sfConfig::get('app_dropbox_app_secret'));
$tokens = $oauth->getRequestToken();

...そしてこれはスローされた例外です:

500 | 内部サーバー エラー | Dropbox_Exception_RequestToken リクエスト トークンを取得できませんでした。これは、コンシューマ キーやシークレットが正しくないことを意味している可能性があります。

エラー メッセージから、アプリ キーとアプリ シークレットの組み合わせが間違っているようです。しかし、私のマシンで動作し、この小さなアプリを開発するために何日も使用しているので、この組み合わせは正しいです. サーバーで 43 ポートが開いており、php_oauth.dll が正しく読み込まれています。

ここで私が間違っていることについてのアイデアはありますか?

4

1 に答える 1

0

Dropbox_OAuth_Curlに切り替えましたが、どちらも機能しませんでした。エラー:

Curl error: (77) error setting certificate verify locations:
CAfile: rootca
CApath: none

だから私は設定しました:

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

そしてそれは動作します。これは、Dropbox_OAuth_PHPが機能していないことに何らかの形で関連している可能性がありますか?

于 2012-12-18T16:25:53.837 に答える