Facebook发布新闻提要和帖子“名称”背后的链接

时间:2012-09-01 15:08:54

标签: ios facebook facebook-graph-api

我使用以下代码在当前用户Feed上发布帖子:

   NSMutableDictionary *postParams = [[NSMutableDictionary alloc] initWithObjectsAndKeys:
                                   @"http://url.com/image.jpg", @"picture",
                                   @"The title of the post on the feed", @"name",
                                   @"Caption text", @"caption",
                                   @"Description text", @"description", nil];

   [self.facebook requestWithGraphPath:@"me/feed" andParams:postParams andHttpMethod:@"POST" andDelegate:nil];

它运作良好,但我无法弄清楚如何设置帖子名称后面的链接(“帖子的标题”)。目前链接如下所示:

https://www.facebook.com/connect/uiserver.php?app_id=[MY_APP_ID]&method=permissions.request&redirect_uri=[THE_URL_OF_THE_PICTURE]&response_type=code&display=page&auth_referral=1

有没有办法轻松控制这个网址?谢谢!

- 编辑 -

以下是我要创建的一种帖子的屏幕截图: enter image description here

http://cl.ly/image/020D1z3S2L16。 蓝色标题“Jet'aienvoyénddédédansannées80”背后的链接非常干净(就像http://itunes.apple.com/app/[APP_NAME]),我也想做同样的事情。

我认为这不是一个开放的图表动作,只是一个基本的帖子。感谢

4 个答案:

答案 0 :(得分:2)

图表API参考https://developers.facebook.com/docs/reference/api/post/中列出了Facebook Feed的所有参数。

相关的是“名称”,“标题”,“描述”或“消息”。因此,如果您所指的元素不受影响,则您无法控制它。

答案 1 :(得分:2)

嘿,只需尝试此代码即可。

 NSMutableDictionary *params = [NSMutableDictionary dictionary] ;
    [params setObject:@"Test post" forKey:@"message"];
    [params setObject:@"link" forKey:@"type"];
    [params setObject:@"http://yoursite.com" forKey:@"link"];
    [params setObject:@"Link description" forKey:@"description"];


    // Make the request
    [FBRequestConnection startWithGraphPath:@"/me/feed"
                                 parameters:params
                                 HTTPMethod:@"POST"
                          completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
                              if (!error) {

                                  if(appDelegate.isLoggedInWithTwitter)
                                  {
                                      [self postMessage:_lblTitle.text];
                                  }
                                  else
                                  {
                                      [self toggleProgressHud:NO title:@"" message:@""];
                                      NSLog(@"%@",[NSString stringWithFormat:@"result: %@", result]);
                                      UIAlertView *alertMsg=[[UIAlertView alloc]initWithTitle:nil message:@"Shared Successfully" delegate:self cancelButtonTitle:nil otherButtonTitles:@"Ok", nil];
                                      alertMsg.tag=11;
                                      alertMsg.delegate=self;
                                      [alertMsg show];
                                  }
                                  // Link posted successfully to Facebook
                              } else {
                                  // An error occurred, we need to handle the error
                                  // See: https://developers.facebook.com/docs/ios/errors
                                  NSLog(@"%@",[NSString stringWithFormat:@"%@", error.description]);
                                  [self toggleProgressHud:NO title:@"" message:@""];
                                  [self handleAPICallError:error];
                              }
                          }];

这是你想要的结果

enter image description here

答案 2 :(得分:1)

  

现在链接如下所示:

     

https://www.facebook.com/connect/uiserver.php?app_id=…&method=permissions.request&…

听起来您在应用设置中启用了经过身份验证的推介...?

这可以解释为什么链接指向嵌入参数method=permissions.request的Facebook URL。

如果是这样,那不是你想要的 - 那就转向认证推荐。

答案 3 :(得分:1)

“xx共享链接”无法通过帖子进行控制。 Facebook正在进行大量的A / B测试,以决定展示什么......