問題タブ [koala-gem]
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.
ruby-on-rails - rails koala gem - API URLリクエストを取得
私はレール 4 に取り組んでおり、Koala gem を使用して Graph API からユーザーの写真を取得しています。
写真を受け取る宝石を受け取ることができます:
しかし、コアラが使用しているURLを保存したいと思います(私ではなく、ユーザーがURLを呼び出すことを好みます)。私は宝石が呼び出すと仮定します: https://graph.facebook.com/facebook_id/picture
しかし、ハードコーディングしたくありません。gem から URL を抽出する方法はありますか? ありがとう
ruby-on-rails - Koala gem get_object が GraphMethodException を返す
私は Koala gem を使用して、Facebook の投稿に関する指標 (いいね!、コメント、共有) を取得しています。私は文字通り数か月間 Koala コードに触れていませんでしたが、突然動作しなくなりました。いいねやコメントはできますが、シェアはできません。gem のドキュメントと GitHub の問題を確認しましたが、私の問題に関連するものは何も見つかりませんでした。それが私のコードなのか、gem なのか、Facebook の API の変更なのかはわかりません。
私は次のメソッドを持っています。これは別のメソッドによって呼び出され、投稿のすべてのメトリックを更新する責任があります。
メソッド引数のサンプル値を次に示します。
これらの入力で上記のメソッドを実行すると、次のエラーが返されます。
また、次の組み合わせを試しましたが失敗しました。
Graph API のドキュメントを参照しても、問題に関する新しい洞察は得られませんでした。
前に言ったように、私は上記のコードに何ヶ月も触れていませんが、最近動かなくなったばかりです。最近、Rails アプリを 4.06 から 4.2.5.1 にアップグレードしました。また、Ruby 2.0.0 から 2.3.0 にアップグレードしました。ただし、コアラの宝石はアップグレードしませんでした。私はすでに 2.2.0 (最新) を実行していました。
ruby-on-rails - Graph API を使用して Facebook ページをテスト ユーザーとしてメンションする方法
承認のために送信する前に Facebook ページをメンションするには、自分が管理するページとして投稿し、自分が管理するページにタグを付け、自分が管理するアプリを使用する必要があることを理解しています。それ以外の場合、タグは適用されません。
これに関する問題は、テスト ユーザーがアプリの管理者ではないことです。私はアプリの管理者であるため、個人アカウントを使用できることはわかっていますが、この機能をテストするために実際の Facebook アカウント/ページを作成することは避けたいと考えています。テスト ユーザー アカウントを使用してページのメンションをテストする方法/可能かどうかを知りたいです。
この質問は、私が間違った方法で行っていたことに気づいたものですが、それでも私が今尋ねている質問が残っています. 前もって感謝します!
ruby-on-rails - Ruby on Railsは、ユーザーログインなしでFacebookイベントを表示します
Ruby on Rails と Koala を使用して Facebook イベントを表示する Web サイトを作成しています。
次のようにすれば、問題なくイベントを表示できます。
しかし、最初の行を次のように変更するとすぐに:
つまり、auth_token がない場合、エラーが発生します --> タイプ: OAuthException、コード: 104、メッセージ: このリソースを要求するには、アクセス トークンが必要です。[HTTP 400]
イベントを表示するためにユーザーがログインする必要はありません。イベントを表示するために Facebook にログインする必要がないことはわかっているので、ユーザーがログインしなくてもイベントを取得する方法があるはずです。何かアイデアはありますか?
ruby-on-rails - Koala と Rails を使用してアプリ ユーザー アクセス トークンを取得する
私は Facebook アプリを持っており、この URL からユーザー トークンとアプリ トークンの両方を取得できます: https://developers.facebook.com/tools/access_token/ 私の Ruby on Rails アプリケーションでは、次のコードを使用してイベント情報を取得しています。
ここでの問題は、アプリのユーザー トークンが期限切れになることです。これがコードに直接入れるべきではない理由であることはわかっていますが、これまでのテスト目的では十分でした。しかし、これは明らかに良い長期戦略ではありません。
このユーザー トークンを動的に取得するにはどうすればよいですか? アプリではなく、実際のユーザーのユーザー トークンを取得することに似ていますか?
ruby-on-rails - Koala と Ruby on Rails を使用して Facebook アプリのアクセス トークンを取得する
RoR アプリを使用して Facebook API に 1 日接続しようとしましたが、うまくいきませんでした。Ruby on Rails と Koala を使用しています。
次のように接続しようとすると:
それなら問題ありません。( https://developers.facebook.com/tools/access_token/からユーザートークンを取得した場所)
問題は、ユーザー トークンの有効期限が切れることです。アプリのユーザートークンを拡張する方法があることは承知していますが、私はこれに頼りたくありません。
むしろ、アプリを認証して、ユーザー トークンの代わりに使用できるアプリ アクセス トークンを取得しようとしています ( https://developers.facebook.com/docs/facebook-login/access-tokens#apptokensに従って) 。これは、最初のリンクで言及されたアプリ トークンではなく、アプリ アクセス トークンを指すことに注意してください)。
アプリ アクセス トークンを取得するために、チュートリアルに従って、コントローラーに次のコードを提供しました。
私のroutes.rbには次のものがあります:
これは純粋に、コールバックが機能したことをテストするためのものです。
私の意図は、次のようなことをすることでした:
しかし、代わりにエラーが発生します: EventsController#index undefined method `url_for_oauth_code' for nil:NilClass の NoMethodError
ユーザーのアクセス トークンを取得することに関心がないことに注意してください。アプリ用に 1 つ欲しいので、API a la に接続できます。
どんな助けでも大歓迎です。
ruby - ユーザーの Facebook トークンを更新しています
Facebook oauth2に大きく基づいたレールのアプリケーションがあります。一目でわかるように、ユーザーは FB コネクトでサインインし、そのページを一覧表示できます (そして、そのデータを使っていくつかのことを行いますが、今は重要ではありません。サインインとページ リストの取得に焦点を当てましょう)。
サインイン後、ユーザーaccess_token
をexpires_at
データベースに保存しています。次に、(ページ リストを取得するために) ユーザーとして facebook api に要求を行う必要があるたびに、expires_at が過ぎていないかどうかを確認し、過ぎている場合は、次のスニペットを使用してユーザー トークンを更新しています。
これはほとんどの場合機能しますが、時々、私のコードはスローします:
タイプ: OAuthException、コード: 190、error_subcode: 460、メッセージ: アクセス トークンの検証エラー: セッションが現在保存されているセッションと一致しません。これは、セッションが作成されてからユーザーがパスワードを変更したか、Facebook がセキュリティ上の理由でセッションを変更したことが原因である可能性があります。[HTTP 400]
に沿ってexchange_access_token_info
。
そのエラーは自分のユーザーに対してスローされます。パスワードを変更していないと言えるので、何が原因なのか、バックエンドでトークンを更新する方法を防弾の方法でどのように処理できるのかわかりません。
どんな助けでも大歓迎です!