Amazon

2012年6月3日日曜日

Facebook GraphAPIで友達と一緒にいることを伝えるAPI

*****今のところ、Facebookのbugらしく、Graph APIからのwith_tagsは投稿できない様子。with_tagsやtoを投稿しても消えてしまうみたい。
http://developers.facebook.com/bugs/334390446603278***


FacebookのGraphAPIを使って、"○○さんと一緒にいます"というような投稿をする場合、実際にFacebookにpostする際には"with_tags"というパラメーターをつける。

Graph APIのドキュメントによれば

with_tagsObjects (Users, Pages, etc) tagged as being with the publisher of the post ("Who are you with?" on Facebook)read_streamobjects containing id and name fields, encapsulated in a data[] array
とのことなので
Titaniumでのリクエストの書き方としては、paramatersという連想配列を定義して、
 Ti.Facebook.requestWithGraphPathの第二引数に指定するのが、汎用的な方法


function postFB(parameters) {
    if(!Ti.Facebook.loggedIn) {
        Ti.Facebook.authorize();
    }
    var paramater {
        message : "with Friend, xxx",
        with_tags : {
            data : [{
                id : id,
                name : name
            }]
        }
    };


    Ti.Facebook.requestWithGraphPath('me/feed', parameters, "POST", function(e) {
        if(e.success) {
            alert("Success" + e.result);
        }
    });
}



4 件のコメント:

  1. こんにちは、はじめまして。
    New5さんの記事の中で紹介されているwith_tagsですが、私の環境ではうまく投稿することができません。
    Graph API Explorer上で投稿しているのですがTituniumなどの環境下でないとうまく投稿はできないのでしょうか??

    返信削除
  2. はじめまして、國吉さん。
    返事遅くなりましてすみません。
    今、Facebook上で人タグ付けて投稿したところ、以下のJSONデータが返ってきていましたので、上記で投稿できるかと思いますが、
    パーミッションがread_streamになっていますか?

    "to": {
    "data": [
    {
    "name": "xxx",
    "id": "yyy"
    },
    {
    "name": "xxxx",
    "id": "yyyy"
    }
    ]
    },
    "with_tags": {
    "data": [
    {
    "name": "xxx",
    "id": "yyy"
    },
    {
    "name": "xxxx",
    "id": "yyyy"
    }
    ]

    返信削除
  3. と思って調べていたら
    http://developers.facebook.com/bugs/295324720531656?browse=search_4f3789142f73d5b87073800

    http://developers.facebook.com/bugs/334390446603278

    にある通り、Graph APIからwith_tagsを付与しても、上手くpostされない(with_tagsが消えてしまう)ようで、bugとして報告されていますね。

    返信削除
  4. ご回答ありがとうございます。
    やはり現状でWith_tagsをつけてGraph API上から投稿する術はないようですね。
    Facebook関連では妙なバグが多いのがきになるところです。。。

    返信削除

Amazon3