1

を使用してイベントの詳細を取得できました

@graph = Koala::Facebook::API.new(access_token)
@eventSummary = @graph.get_object(eventId)

を使用して招待されたユーザーリストを取得する

@eventSummary = @graph.get_connections(eventId,  "invited")

招待されたすべてのユーザーの数を取得したいのですが、おそらく、イベントに辞退して受け入れました。私が使用している

@eventSummary = @graph.get_connections(eventId,  "invited?summary=1")

ここでも、ユーザーのみのリストが表示されます。使用時graph.facebookいいね

https://graph.facebook.com/***eventId***/invited?access_token=*****access_token****&summary=1

結果としてカウントを取得しています。

    {
   "データ": [
      {
         "名前": "xyz",
         "rsvp_status": "参加中",
         "id": "10000000123"
      }
   ]、
   "ページング": {
      "next": "https://graph.facebook.com/***eventId***/invited?summary=1&access_token=***accesstoken***&limit=5000&offset=5000&__after_id=100004389574321"
   }、
   "まとめ": {
      "noreply_count": 0,
      "maybe_count": 0,
      "declined_count": 0,
      "出席回数": 1,
      「カウント」: 1
   }
}

目的を解決するためだけに、次のように fql を使用して結果を取得しています。

@eventSummary = @graph.get_object("fql", :q => "SELECT all_members_count, attending_count, declined_count, not_replied_count, unsure_count FROM event WHERE eid = #{eventId}")

しかし、これは使い勝手が悪い。誰か助けてください、私は何が間違っていますか? イベント RSVP カウントを取得します。Koala gemを使用するFacebook用にRails v.3.2を使用しています。前もって感謝します。

4

1 に答える 1

0

イベント自体をリクエストすると、これらの出席者数フィールドが含まれていないこともわかりました。ただし、2 番目のパラメーターを使用して具体的に要求することができます。

@eventSummary = @graph.get_object(eventId)
@eventSummary.merge(@graph.get_object(eventId, fields: "attending_count,declined_count,interested_count"))

最初の呼び出しは、次のような「標準」イベントの詳細を取得します。

{"description"=>"Blah blah blah", 
 "name"=>"My Event Will Rock", 
 "place"=>{"name"=>"Venue Bar",
           "location"=>{"city"=>"Citytown", 
                        "country"=>"United States",
                        "latitude"=>43.05308, 
                        "longitude"=>-87.89614, 
                        "state"=>"WI", 
                        "street"=>"1216 E Brady St", 
                        "zip"=>"53202"}, 
           "id"=>"260257960731155"}, 
 "start_time"=>"2016-04-22T21:00:00-0500",
 "id"=>"1018506428220311"}

2 番目の呼び出しは、これらの「追加の」要求フィールドだけを取得します。

{"attending_count"=>3,
 "declined_count"=>0,
 "interested_count"=>12,
 "id"=>"1018506428220311"}

それらを別々の変数に格納するか、上記で提案しているように、hash#merge メソッドを使用できます。(これら 2 つのハッシュのキー間に問題のあるオーバーラップがあってはなりません。)

または、必要なものすべてを明示的にリクエストすることで、これらすべての詳細を 1 つのリクエストで取得できます。

于 2016-04-13T22:54:53.103 に答える