0

Contact API v3 を使用して、既存の連絡先に写真をアップロードするための実用的な実装がありました。

数週間後、これは 404 で失敗します。API サーバーが 404 を返し始めたとき、実装は変更されていません。何が正確に変更され、現在 404 になっているのかを示す兆候は見られません。

HTTP PUT + 連絡先の写真の URL を使用しています。

私が行った興味深い観察の 1 つは、連絡先のセルフ URL が要求ごとに変わることです (提供される詳細は常に同じで正しいものです)。

誰かが似たようなことに気づきましたか?

編集: 問題へのリンク: http://code.google.com/a/google.com/p/apps-api-issues/issues/detail?id=3301&q=contact&colspec=API%20ID%20Type%20Status%20Priority% 20スター%20開封済み%20サマリー

  • さまざまな写真形式とサイズ、さまざまなコンテンツ タイプ、さらには以前にアップロードされた写真 (まだ機能していたとき) を試しました。404 を返す動作に変更はありません。

  • 連絡先 ID を変更する wrt: 連絡先 ID は API 呼び出し間で変更されます。連絡先IDが変更されたのは、接続の再開(キープアライブなし)に関連している可能性があると最初に考えました。ただし、これが問題の原因であることに反対するのは、最初に連絡先を取得してから連絡先のアドレスを編集することは問題なく可能であるということです。

  • 認証も問題ないようです - そうしないと、連絡先のアドレスを編集してもうまくいきません。

PS: 連絡先を取得するときに JSON 出力形式を使用しています。

PS2: 手順 3 の s/GET/PUT (PUT を GET に変更して、まだ 404 が返されるかどうかを確認しようとしました...これは返されます)。

PS3: クライアント ライブラリは使用していませんが、プロトコルを直接実装しています (写真リンクの HTTP PUT には関係ありません)。

4

1 に答える 1

0

何時間もの調査の結果、これは OAuth1 を使用した特定の問題であることがわかりました。OAuth2 を使用すると、OAuth1 を使用して特定の連絡先レコードを要求したときに返されたのとまったく同じ写真リンクが機能し、HTTP GET で写真データを返します。OAuth2 を使用した写真リンクの HTTP PUT も成功することを期待しています。

OAuth1 になんらかの回避策がある場合は、開いたままになります。

于 2012-12-11T23:08:35.080 に答える