У меня действительно есть часы, чтобы попытаться решить этот вопрос неуспешно! Я просто хочу, чтобы иметь возможность читать временные рамки пользователя (публичные сообщения) из facebook ... Технически (для простоты) я бы предпочел использовать только фреймворки из iOS sdk (т. Е. Не использовать facebook один). Поэтому в настоящее время я использую только Social.framework и Accounts.frameworkКак читать любую пользовательскую временную шкалу пользователя facebook с помощью iOS Social framework?
Что мне до сих пор удается сделать, это прочитать временную шкалу facebook текущего пользователя (того, который указан на устройстве), но когда я пытаюсь «me» на «ANOTHER_USER_ID» в следующем URL-адресе @ «https://graph.facebook.com/me/feed», он возвращает только пустое поле данных (нет «сообщения»).
«Странный» факт заключается в том, что я могу успешно достичь любого фида корпоративного типа (например, «cocacola»), используя @ «https://graph.facebook.com/cocacola/feed».
Так что мой вопрос: как добраться до корма «простого» пользователя (например, «shireesh.asthana»), чтобы я мог прочитать его «сообщение»?
Мой процесс до сих пор:
- Создать приложение на https://developers.facebook.com/, чтобы получить AppID
- Используйте этот AppID в своем коде, чтобы иметь возможность отправить запрос с помощью SLRequest
Ниже код, который я использую в настоящее время:
ACAccountStore *account = [[ACAccountStore alloc] init];
ACAccountType *accountType = [account
accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];
// Specify App ID and permissions
NSDictionary *options = @{
ACFacebookAppIdKey: @"1111111111111", // My AppID here
//ACFacebookPermissionsKey: @[@"read_stream"],
ACFacebookPermissionsKey: @[@"email", @"read_stream"],
ACFacebookAudienceKey:ACFacebookAudienceFriends
};
[account requestAccessToAccountsWithType:accountType
options:options completion:^(BOOL granted, NSError *error)
{
if (granted == YES)
{
NSArray *arrayOfAccounts = [account
accountsWithAccountType:accountType];
if ([arrayOfAccounts count] > 0)
{
ACAccount *facebookAccount = [arrayOfAccounts lastObject];
// I want the messages and the author
NSDictionary *parameters = @{@"fields": @"message,from"};
NSURL *feedURL = [NSURL URLWithString:@"https://graph.facebook.com/HERE_THE_USER_ID/feed"]; // Work with "cocacola" but not with "shireesh.asthana"
SLRequest *getRequest = [SLRequest
requestForServiceType:SLServiceTypeFacebook
requestMethod:SLRequestMethodGET
URL:feedURL
parameters:parameters];
getRequest.account = facebookAccount;
[getRequest performRequestWithHandler:
^(NSData *responseData, NSHTTPURLResponse
*urlResponse, NSError *error)
{
dataSource = [NSJSONSerialization
JSONObjectWithData:responseData
options:NSJSONReadingMutableLeaves
error:&error];
// Reach the main queue to process result
dispatch_async(dispatch_get_main_queue(), ^{
NSLog(@"Read %d messages", [dataSource[@"data"] count]);
if ([dataSource[@"data"] count] != 0) {
// Do stuff in case of success...
} else {
// Do stuff in case of ERROR...
}
});
}];
} else {
// Case of no facebook account on the device...
}
} else {
// User don't grant the app to access its facebook info...
}
}];
благодарит за сообщение. О фиде «Shireesh Asthana» я ссылался на свой собственный пост: http://stackoverflow.com/a/14188483/1749367, но вы полностью правы, так как на его фиде нет публичного сообщения. – helper
М рад, что это помогло. Ура! –