【问题标题】:How to get the twitter, facebook shared id in SLComposeViewController ios?如何在 SLComposeViewController ios 中获取 twitter、facebook 共享 id?
【发布时间】:2014-07-11 07:02:41
【问题描述】:

我已经通过社交框架中的 SLComposeViewController 开发了社交(Facebook、Twitter)共享。是否可以在 SLComposeViewControllerCompletionHandler 中获取帖子的 facebook、twitter 共享 ID?

如果可能的话,请给我一些例子。

示例代码

     SLComposeViewController *tweetSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
    tweetSheet.completionHandler = ^(SLComposeViewControllerResult result){

        NSLog(@"here how to get the post shared id?");
    } ;

    [tweetSheet setInitialText:@"Sharing from my own app! :)"];
    [self presentViewController:tweetSheet animated:YES completion:nil];

【问题讨论】:

  • SLComposeViewController *tweetSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook]; tweetSheet.completionHandler = ^(SLComposeViewControllerResult 结果){ NSLog(@""); } ;在完成处理程序方法中,它只会返回结果代码。但我需要 facebook、twitter 帖子共享 ID。可以通过 ios 中的 Social Framework 实现吗?
  • 请将您的代码添加到您的问题中。

标签: ios facebook twitter social


【解决方案1】:

无法通过 SLComposeViewControllerCompletionHandler 获取 Facebook、Twitter 帖子分享 ID。

相反,我使用 SLRequest 在 twitter 和 facebook 上分享帖子并获取帖子的共享 ID。

示例代码

NSLog(@"share on Facebook");
NSURL *url = [NSURL URLWithString:@"https://graph.facebook.com/me/feed"];

SLRequest *facebookRequest = [SLRequest requestForServiceType:SLServiceTypeFacebook
                                                requestMethod:SLRequestMethodPOST
                                                          URL:url
                                                   parameters:postparameter];

facebookRequest.account = facebookAccount;//Facebook Account Object

[facebookRequest performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {
    NSDictionary *postResponseData = nil;
    NSString *fbShareId = nil;
    if (responseData) {

        NSInteger statusCode = urlResponse.statusCode;
        if (statusCode >= 200 && statusCode < 300) {
            postResponseData = [NSJSONSerialization JSONObjectWithData:responseData
                                                               options:NSJSONReadingMutableContainers
                                                                 error:NULL];
            fbShareId = postResponseData[@"id"];
            NSLog(@"[SUCCESS!] Created post in facebook with ID: %@", fbShareId);

        }
        else {
            NSLog(@"[ERROR] Server responded: status code %d %@", statusCode,

                  [NSHTTPURLResponse localizedStringForStatusCode:statusCode]);

        }
    }
    else {
        NSLog(@"[ERROR] An error occurred while posting: %@", [error localizedDescription]);

    }

}];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-13
    • 2018-04-23
    • 1970-01-01
    • 2018-01-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多