Graph Facebook API 指定するURLのシェア数を取得する方法

##指定するURLのシェア数を取得する方法

https://graph.facebook.com/?id=http://sunstripe.main.jp/

###SSGrapheFacebookManager.h
~~~ObjectiveC:SSGrapheFacebookManager.h
//
//  SSGrapheFacebookManager.h
//  SampleCode
//
//  Created by http://sunstripe.main.jp on 2017/02/27.
//  Copyright © 2017年 SampleCode. All rights reserved.
//

@interface SSGrapheFacebookManager : NSObject<NSURLConnectionDelegate>


@property (nonatomic, retain) NSDictionary *responseDict;

// API id=URL
- (NSDictionary *)SSGFManagerInfoWithURLString:(NSString *)URLString;

~~~

###SSGrapheFacebookManager.m
~~~ObjectiveC:SSGrapheFacebookManager.m
//
//  SSGrapheFacebookManager.m
//  SampleCode
//
//  Created by http://sunstripe.main.jp on 2017/02/27.
//  Copyright © 2017年 SampleCode. All rights reserved.
//

#import "SSGrapheFacebookManager.h"

@implementation SSGrapheFacebookManager

+ (NSString *)URLString {
    return @"https://graph.facebook.com/";
}

- (NSDictionary *)SSGFManagerInfoWithURLString:(NSString *)URLString
{    
    return [self get:[SSGrapheFacebookManager URLString] withParameters:@{
                                                                          @"id":URLString
                                                                          }];
}

- (NSDictionary *)get:(NSString *)urlString withParameters:(NSDictionary *)params {
    
    NSString *httpString = [self buildParameters:params];
    NSError *error = nil;
    NSURLResponse *response;
    self.receivedData = [[NSMutableData alloc] init];
    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
    [request setURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@?%@", urlString, httpString]]];
    [request setHTTPMethod:@"GET"];
    
    NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
    
    if(data){
        _responseDict = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
    }
    return _responseDict;
}

- (NSString *)buildParameters:(NSDictionary *)params {
    
    NSMutableString *stringToParam = [NSMutableString string];
    
    NSString *key;
    for ( key in params ) {
        NSString *uriEncodedValue = [params objectForKey:key];
        [stringToParam appendFormat:@"%@=%@&", key, uriEncodedValue];
    }
    
    if ( [stringToParam length] > 0 ) {
        [stringToParam deleteCharactersInRange:NSMakeRange([stringToParam length]-1, 1)];
    }
    
    return stringToParam;
}

~~~


###呼び出し

~~~ObjectiveC:SSGrapheFacebookManager.m
#import "SSGrapheFacebookManager.h"
//例：
- (void)getIDInfo {
    SSGrapheFacebookManager *gfm = [SSGrapheFacebookManager new];
    // id GET
    NSDictionary *idInfo = [gfm SSGFManagerInfoWithURLString:@"http://sunstripe.main.jp"];

   NSLog(@"share count : %d",[idInfo@[@"share"][@"share_count"] intValue]);
   NSLog(@"%@",idInfo);
}
~~~

###ログを出してみる

~~~LOG.log
share count : 8 


{
    id = "http://sunstripe.main.jp";
    "og_object" =     {
        description = "\U30af\U30ea\U30a8\U30fc\U30bf\U30fc\U306e\U53ef\U80fd\U6027\U3092\U5f15\U304d\U51fa\U3059\U30b5\U30f3\U30b9\U30c8\U30e9\U30a4\U30d7 - \U30aa\U30d5\U30a3\U30b7\U30e3\U30eb\U30b5\U30a4\U30c8\U3002 \U3059\U3079\U3066\U306e\U53cb\U9054\U3092\U7b11\U9854\U306b - \U3059\U3079\U3066\U306e\U53cb\U9054\U3092\U53ef\U80fd\U6027\U306e\U5149\U306b\U5909\U3048\U3066 - http://sunstripe.main.jp/ - \U63b4\U307e\U306a\U3044\U3068\U3044\U3051\U306a\U3044\U306e\U306f\U6642\U4ee3\U306e\U6d41\U308c\U306a\U306e\U304b\U3082\U3057\U308c\U306a\U3044\U3002";
        id = 931382006960733;
        title = "\U5236\U4f5c\U30c1\U30fc\U30e0 - Sun Stripe";
        type = website;
        "updated_time" = "2017-02-14T03:55:29+0000";
    };
    share =     {
        "comment_count" = 0;
        "share_count" = 8;
    };
}
~~~

###結果
呼び出しは、成功しているようです！
https://graph.facebook.com/?id=URL URLに入れてみていろいろ試してみてください。


---

## 関連記事

【About】(http://qiita.com/sunstripe) - サンストライプ

---

## 制作チーム：サンストライプ

[![sunstripe_logo.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80600/322f2d60-f19d-af9e-2b6f-7290ca546848.png)](http://sunstripe.main.jp/)
http://sunstripe.main.jp/

(月１WEBコンテンツをリリースして便利な世の中を作っていくぞ！！ボランティアプログラマー/デザイナー/イラストレーター/その他クリエイター声優募集中！!)

### 地域情報 THEメディア
THE メディア 地域活性化をテーマに様々なリリース情報も含め、記事をお届けしてます！！
https://the.themedia.jp/

### ゼロからはじめる演劇ワークショップ
多様化の時代に向けて他者理解を鍛える

https://workshop.themedia.jp/

### プログラミングワークショップ・ウェブ塾の開講！！！
様々なテーマでプログラミングに囚われずに取り組んでいきます。
詳しくはこちら　↓　↓　↓　↓　↓　↓　↓　↓
[プログラミングサロン 月１だけのプログラミング学習塾](https://workshop.themedia.jp/posts/7057553?fbclid=IwAR32CfRQ7RvDOhvuogoSwqxDLMOU7Jvuzljlnx-TMc27qBPX1BnWsfLcBR8
)

### 協力応援 / 支援者の集い
## チーム：サンストライプ
#### プログラミングラボ
https://twitter.com/sunstripe2011

一緒にポートフォリオを作りませんか？現場の体験やそれぞれの立場から年齢関係なく作品を作りたい方々と一緒にチームを作って、作品を作っています。現場に行きたい人には、職場紹介や職場の体験や悩み相談なども受けております。
様々な職種からプログラミングの知識を得たい、デザインの知識を得たい、データーベースの知識を得たいという人が集まっております。
週１のミーティングにそれぞれの近況と作業報告して、たまにリモート飲み会などをしております！！

興味がある方は、DMに話しかけてみてください。

## トラストヒューマン
http://trusthuman.co.jp/
私たちは何よりも信頼､人と考えてます｡

｢コンサルティング｣と｢クリエイティブ｣の両角度から｢人材戦略パートナー｣としてトータル的にサポートします！！

キャリア教育事業
広域学習支援プラットフォーム『のびのび日和』
https://slc-lab.amebaownd.com/

#スポンサー募集