4

これはばかげた質問かもしれませんが、fb:explicitly_shared bool を追加する場所がわかりません。

フィールドを追加して「true」に設定するだけで、Graph API Explorer を使用するときにこれを機能させることができます。魅力のように機能します。

しかし、iOS アプリ内からこれを実行しようとすると、単に機能しません。

- (id<OGObject>)myObjectForObject:(NSDictionary*)object
{

    NSString *format =
    @"http://www.myurl.com/fbobjects/object.php?"
    @"fb:app_id=<my_app_id>&og:type=%@"
    @"&fb:explicitly_shared=true"
    @"&og:title=%@"
    @"&og:description=%@"
    @"&og:image=http://www.myimageurl.com/image.png"
    @"&body=%@";

    id<OGObject> result = (id<OGObject>)[FBGraphObject graphObject];

    // Give it a URL that will echo back the name of the wod as its title,
    // description, and body.
    result.url = [NSString stringWithFormat:format,
                  @"myapp_namespace:object",
                  [object objectForKey:@"title"],
                  [object objectForKey:@"description"],
                  [object objectForKey:@"title"]];

    NSLog(@"%@", result.url);

    return result;
}

これは、fb:explicitly_shared ビットを追加した場所を除いて、大部分はオープン グラフ チュートリアルから直接取得したものです。

iOS デバイスから投稿する場合、これをどこに追加する必要がありますか? どんな助けでも大歓迎です:)

4

1 に答える 1

11

actionにパラメーターを追加する必要があります。コードからわかることは、それをobjectに追加しようとしているようですが、明らかに機能しません。これが私がやった方法です:

id<GSOGTrackActivityAction> action = (id<GSOGTrackActivityAction>)[FBGraphObject graphObject];
action.activity = activityObject;

[(NSMutableDictionary *)action setValue:@"true" forKey:@"fb:explicitly_shared"];

(GSOGTrackActivityAction は、アクション オブジェクトへの型付きアクセス用のカスタム プロトコルであることに注意してください。また、"track" がアクションで、"activity" がオブジェクトです (Open Graph 内)。)

于 2012-12-01T11:37:45.400 に答える