問題タブ [google-http-client]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Google HTTP クライアント ライブラリを使用した配列のジェネリック型
次のようなベース http 応答があります。
データには、Users、FeedItems などの任意のオブジェクトを含めることができます。
だから私は基本クラスを次のように作成したい
Retrofit for Android ライブラリでこれを行うことができます。
しかし、Google HTTP クライアント ライブラリでこれを行う方法がわかりません。
java - Java 用 Google HTTP クライアント ライブラリが HttpResponseException: 301 Moved Permanently をスローする
Google HTTP Client Library for Java (1.22.0) に問題があります。これは私のコードです
および httpRequest.execute() スロー
以下はWiresharkからのフォローです
と数回繰り返します。おそらく問題は url にあります。これlocation
は/ogl/2502758/pakowacz+-+mile+widziane+panie
、次のリクエスト メソッド get が であるためです/ogl/2502758/pakowacz%20-%20mile%20widziane%20panie
。他のソフトウェアとライブラリでは、すべてが機能しています (Google Chrome ブラウザ、postman - Chrome へのアドオン、JSOUP - Java ライブラリ)。
問題を解決する方法を知っている人はいますか?
android - ページ アカウントとして Google OAuth 認証を行う
私はこれで迷っています。問題は単純です: Android で、Google ユーザーを自分が所有するページとしてログインする正しい推奨方法は何ですか (たとえば、最初にログインすると、認証したいページがアプリに表示されます)。
Web ソリューションは簡単です。Google の /oauth エンドポイントは、メイン アカウントを選択する委任ページまたは続行するページに自動的にリダイレクトします。次のページには、URL にpageId=...追加の引数があります。そのため、承認はメイン アカウントではなく、その特定のページにリンクされます。
Android では、私は完全に道に迷いました。そこにあるすべての可能な公式ガイドは、非推奨であるか、推奨されていないか、単にこの単純なユースケースをあからさまに無視しており、メインアカウントの OAuth トークンを取得する場合にのみ機能し、ユーザーの場合に役立つ言葉さえありません。ユーザーのアカウントの下で独自のアイデンティティとして使用できる独自のページ。
Google Play サービスを使用して、現在 (高レベルで) 行っていること:
- AccountPicker.newChooseAccountIntentを介してアクティビティ インテントを開始する
- ユーザーがデバイスでアカウントを選択します。
- GoogleAuthUtil.getTokenを呼び出して OAuth トークンを取得する - これにより、ユーザーにアプリの承認を求める基本的な OAuth フローがトリガーされます - Web フローと同様に、このステップではアカウントの選択はありません!
私が見たもの:
- Google HTTP Api クライアント - これは、Android の AccountManager を使用し、「カスタム」ソリューションを使用して更新トークンなどを保存しないことをお勧めします。ユースケースにはまったく役に立ちません。
- Google サインイン - これにはサーバー エンドポイント (wtf?) が必要なようです。私はそれを使用して、興味のある OAuth スコープを追加しようとしましたが、うまくいきませんでした。ユーザーの電子メールには興味がありません。この API は、Google として認証するのではなく、ユーザーをサインアップすることを目的としているようです。
私が調べた他のアプリは、WebView を開いてユーザーにログインを強制しているように見えます。これにより、ログイン後にアカウント/ページを選択して、通常の Web フローがトリガーされます。別のログインが必要なため、これは本当に好きではありません。
この問題に関する公式の見解はありますか?
java - クライアント アプリからの Firebase ID トークンが Java バックエンド検証で例外を発生させる
Firebase を使い始めたばかりです。React アプリ + Java バックエンド。
React 側の承認はうまく機能しますが、ユーザーの ID トークンをバックエンドに送信し、firebase ライブラリを使用していることを確認しようとすると、例外が発生します。
ドキュメントからすべてのコードを取得しました。
js クライアントで:
Java では、これは失敗します。
私に与えます:
私が使用している - com.google.firebase - firebase-admin - バージョン 5.5.0
uid によるデータベース操作とユーザー検索は、Java バックエンドで問題なく動作します。
エラーを追跡するためにすべてのJavaソースをダウンロードしたところ、「ドット」チェックが失敗することがわかりました
クラス JsonWebSignature パッケージ内 com.google.api.client.json.webtoken google-http-client-1.22.0.jar
トークンの末尾にドットを追加すると、パスがチェックされ、ユーザーが元に戻ります。私は何か間違ったことをしているのだろうか..私のトークンは正しい形式ですか、それともJavaは有効性のチェックに熱心です
firebase js クライアントから受け取ったトークンの形式は「Header.Payload」で、JWS RFC の「Header.Payload.Signature」のように 2 番目のドットが含まれていません。
webtoken の検証に問題があり、2 番目のドットは仕様で要求されていませんか、それとも firebase lib がそのようなトークンのせいですか? それともどこか間違っていますか。
私が夢中になっているので、どんな助けも大歓迎です:)
java - 本文を含むGoogle HTTP削除(Json)
HTTP DELETE メソッドを使用して、以下の JSON メッセージを送信したいと思います。このプロジェクトでは、OAuth2 を使用する必要があります。したがって、依存関係の google-oauth を使用します。Foreach HTTP リクエストには、依存関係のある Google クライアントを使用します。
私のプロジェクトでは、以下のコードを使用しましたが、HTTP DELETE メソッドで JSON メッセージを送信できません。
次のエラーが発生します:
java.lang.IllegalArgumentException: コンテンツの長さがゼロでない DELETE はサポートされていません
誰かがこの問題で私を助けることができますか?
linux - <<$$$ は Unix シェルで何を意味しますか?
仕事中のプロジェクトに を使用してgoogle-http-client
いますが、いくつかのリクエストを行うと、コンソールに次のように表示されます。
どういう<< $$$
意味だろうと思いました。
このコマンドを Linux ターミナルで実行しようとすると<< $$$
、コンソールがさらに入力を待つようになります。その場合、入力の供給が完了したことを端末に指定するにはどうすればよいですか?
-d @-
後で編集: curl 引数は、データが標準入力から赤になることを意味することがわかりました。
java - Google HTTP ライブラリの JSON 解析、null 値のデフォルトは True
get リクエストから受け取った JSON データを解析するために Google HTTP ライブラリを使用していますが、現在起こっている奇妙なことは、@Keys の 1 つで、JSON として出くわす値が null (hasShipmentBeenPulled) であるということです。
しかし、ライブラリが値を解析しているときは、デフォルトで「true」になります。クラスは次のとおりです。
出力は次のとおりです。
なぜこうなった?これは false にデフォルト設定されるべきではありませんか? 過去 2 時間にわたって私が読んできたすべてのことは、null 値がデフォルトで false に設定されているか、理想的には null 値のままであることを望んでいるという事実を指摘しています。
PS 以下は、魔法を実現しているコードです。
最終的に私が達成しようとしているのは、JSON を解析することです。JSON で値が null に設定されている場合は、Java オブジェクトも null に設定する必要があります。常に渡される必須フィールドがいくつかありますが、オプションのフィールドは他にもあります。フィールドがオプションの場合、渡された場合でもその情報を収集したいのですが、そうでない場合は、null のままにするか、完全に無視することができます。このライブラリを使用してその機能を処理する最善の方法がわかりません。これまでのところ、私は成功していません。
ありがとう。