0

Facebook テスト アカウントでアプリにログインして、オープン グラフ ストーリーを投稿しようとしています。ストーリーの内容: 名前がリンクを共有しました。

許可を得るための Facebook の指示は悪循環です。

投稿するには許可が必要です。それで、アプリからストーリーを投稿しようとしているとき。アプリは Facebook アプリに移動し、投稿用のテンプレートを作成します。しかし、「公開」を押しても何も起こりません。

問題を解決するのを手伝ってください。当社はあらゆることを試し、コードを変更しましたが、Facebookの問題だと思います。投稿が Facebook に公開されない理由を突き止めてください。

PS: この場合、共有ダイアログは使用しません。Open Graph と API 2 を使用しています。

4

1 に答える 1

1

リンクを共有するだけの場合は、次のコードを使用します。

FBSDKShareLinkContent *content = [[FBSDKShareLinkContent alloc] init];
content.contentURL = [NSURL URLWithString:@"http://developers.facebook.com"];
[FBSDKShareDialog shareFromViewController:self
                              withContent:content
                                 delegate:nil];

Composer で「Say something about this...」を空白のままにすると、ストーリーがタイムラインに「Name shared a link」として表示されます。

カスタム OG ストーリーの場合は、共有ダイアログを使用します。publish_actions明示的に許可を得る必要はありません。共有ダイアログがタイムラインに投稿されないように見える場合は、ダイアログのデリゲートを設定し、デリゲート メソッドを使用して原因を調査できます。

-(void)sharer:(id<FBSDKSharing>)sharer didFailWithError:(NSError *)error {
    NSLog(@"Error: %@", error);
}

actionsとの作成に関してobjectsは、アプリのダッシュボードで行うことができます。

https://developers.facebook.com/apps/<your-facebook-app-id>/open-graph/

Graph API 呼び出しを行うためのアクセス許可が必要な場合は、Facebookでのログインを実装します。ここで、アプリに必要なアクセス許可を要求します。例えば:

FBSDKLoginButton *loginButton = [[FBSDKLoginButton alloc] init];
loginButton.readPermissions = @[@"public_profile", @"user_photos"];
loginButton.publishPermissions = @[@"publish_actions"];

アクセス許可を取得したら、Graph API 呼び出しを行うことができます。

于 2015-05-07T15:22:56.763 に答える