OK..ついにDPZライブラリで動作するようになりました。
今後の参考のために、私と同じ問題に直面している人は次のとおりです。
auth.php のメソッドを flickr.photosets.create に変更することで、DPZFlickr を使用してアルバムを作成できました。これは、ライブラリが書き込み許可を持つアクセス トークンを正しく生成することを示しています。
ただし、アップロードの例では「無効な署名」エラーが発生し続けました....コードを確認しました。Flickr.php は、リクエストに署名する前に写真パラメータの設定を正しく解除し、それを再度追加してリクエストを送信します。これは、次の URL に示されているとおりです。
https://www.flickr.com/groups/51035612836@N01/discuss/72157650261711318/で、エラーが実際には署名の問題ではなく、送信されている「写真」パラメーターであることが明らかになったディスカッションを見つけました問題。Flickr が photo パラメータの処理方法を認識していないため、署名エラーが送信されます。
では、写真パラメータの何が問題なのですか? Flickr API では、画像をバイナリ形式で送信する必要があります... DBZ ライブラリの Flickr.php スクリプト 677 行目は、php の cURL 関数 ( http://au.php.net/ manual/en/function.curl-setopt.php )。$parameters (アップロードされた写真を含む) を http リクエストの post フィールドに送信します。これにより、バイナリ形式でアップロードが行われます。
ただし、CURL PHP send imageで見つけたすばらしいコメントには、次の
ように記載されています。
マニュアルをチェックする: http://au.php.net/manual/en/function.curl-setopt.php
それは言う: TRUEに。」
したがって、PHP バージョンが 5.5.0 の場合、ライブラリは問題なく動作しますが、バージョン PHP 5.6.0 を使用している場合は、Flickr.php の 677 の前に行を追加して、CURLOPT_SAFE_UPLOAD を false に変更する必要があります (これが、ライブラリが一部で動作し、他はありません)。
この問題を解決するには... Flickr.php の 677 行目の前に次の行を追加するだけです: curl_setopt($curl, CURLOPT_SAFE_UPLOAD, false);
それでおしまい。(-: