Lütfen örnek projemi kontrol edin. Facebook'a video yüklemenize izin verir, ancak aynı zamanda bilgi almak için bir yöntem içerir, sekme denetleyicisinde "Yerel" yazan not ViewController.m
dosyasına bakmanız gerekir.
https://bitbucket.org/danielphillips/fb-video-upload
Ne istediğini yapmak Social
ve Accounts
çerçeveler ithal etmek gerekecektir. Erişim izni verildiyse, kullanıcı Facebook hesabına ACAccountStore
'dan erişim talebinde bulunursanız, istediğiniz parametrelerle bir SLRequest
oluşturmak için bu hesabı kullanırsınız, burada "/ me" grafik nesnesini istersiniz.
Özellikleri:
@property (nonatomic, retain) ACAccountStore *accountStore;
@property (nonatomic, retain) ACAccount *facebookAccount;
Authenticate:
- (IBAction)getMeButtonTapped:(id)sender {
if(!_accountStore)
_accountStore = [[ACAccountStore alloc] init];
ACAccountType *facebookTypeAccount = [_accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];
[_accountStore requestAccessToAccountsWithType:facebookTypeAccount
options:@{ACFacebookAppIdKey: @"483616868329082", ACFacebookPermissionsKey: @[@"email"]}
completion:^(BOOL granted, NSError *error) {
if(granted){
NSArray *accounts = [_accountStore accountsWithAccountType:facebookTypeAccount];
_facebookAccount = [accounts lastObject];
NSLog(@"Success");
[self me];
}else{
// ouch
NSLog(@"Fail");
NSLog(@"Error: %@", error);
}
}];
}
alın "Benim":
- (void)me{
NSURL *meurl = [NSURL URLWithString:@"https://graph.facebook.com/me"];
SLRequest *merequest = [SLRequest requestForServiceType:SLServiceTypeFacebook
requestMethod:SLRequestMethodGET
URL:meurl
parameters:nil];
merequest.account = _facebookAccount;
[merequest performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {
NSString *meDataString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
NSLog(@"%@", meDataString);
}];
}
Kod ilk defa benim için iyi çalışıyor. Ama bir dahaki sefere fb hesabının bağlantısını kestim ve sonra tekrar bağladıktan sonra { error = { code = 190; message = "Erişim belirteci cihazda geçersiz kılındı."; type = OAuthException; }; } – NSCry
@NSIllusion erişim belirteci sorununu çözdünüz mü? – user717452
@ user717452 Neredeyse çözüldü, ancak bana iyi bakmanın iyi bir cevabı bulamadı. Sorunum simülatör içeriğini ve ayarlarını sıfırlayarak çözüldü. – NSCry