필자는 필요한 것보다 더 큰 규모 인 것으로 보이는 것을하려고합니다.Facebook iOS SDK - Post Custom Story
나는 Parse 백엔드에 대해 작성된 iOS 응용 프로그램을 가지고 있습니다. 앱의 사용자는 저장할 항목을 만들 수 있으며 때로는 이러한 항목에 대한 알림을 생성 할 수 있습니다.
사용자에 대한 간단한 경고를 Facebook에 게시하고 싶습니다.
Facebook을 iOS에 통합하는 것에 대해 Facebook 웹 사이트에서 꽤 많이 읽었지만 설명서가 혼란스럽고 StackOverflow에서 한 명 이상의 사용자가 iOS 코드에 결함이 있다고 언급했습니다.
기본적으로, 사용자 정의 이야기는 다음과 같은 항목이 포함됩니다 :
- 스토리 제목
- 스토리 설명 (여기에서 일반적으로하지 매우 많은 텍스트)
- 하나 이상의 사진을 (내가 정착 것 1,하지만 배수를 게시 할 수 있기를 바랍니다)
- 가능한 경우 사용자가 제공 한 GPS 위치입니다.
나는 내가 일하는 목적으로 페이스 북을 배우는 개발자라는 것을 인정할 것이고, 나는 페이스 북 전문가가 아니다. 내가을하고있어 무엇
- 텍스트
- 사진 (들)
- 친구
- 을 :
내가 페이스 북의 응용 프로그램에서 놀 때, 나는 포함 할 수있는 상태 업데이트를 추가 할 수 있습니다
- 나는 어디로 (또는 위치)
그러나, 페이스 북 SDK에서, 상태 업데이트 게시에 대한 다음 두 가지 옵션 만 표시됩니다.
startForPostStatusUpdate:completionHandler:
startForPostStatusUpdate:place:tags:completionHandler:
내가 거기에 무엇이 있는지 알려면 알려주십시오. 나는 '내 응용 프로그램에서 (이미지 리소스
- 업로드 및 단계 :
둘째, 나는 다음과 같은 일련의 이벤트를 수행하는 페이스 북의 문서와 샘플 코드를 따라하기 위해 노력하고있어 (내 응용 프로그램에서, 내가 여기
- (void)postToFacebookWithAlert:(PFObject *)alert image:(UIImage *)image {
// Stage the image
[FBRequestConnection startForUploadStagingResourceWithImage:image completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
if (error != nil) {
// See: https://developers.facebook.com/docs/ios/errors
} else {
// Package image inside a dictionary, inside an array like we'll need it for the object
NSArray *image = @[@{@"url": [result objectForKey:@"uri"], @"user_generated" : @"true" }];
// Create an object
NSString *caption = // user-generate content
NSMutableDictionary<FBOpenGraphObject> *alert;
alert = [FBGraphObject openGraphObjectForPostWithType:@"<myapp>:alert"
title:caption
image:image
url:nil
description:alert[@"subtitle"]];
alert.provisionedForPost = YES;
// Post custom object
[FBRequestConnection startForPostOpenGraphObject:alert completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
if (error != nil) {
// An error occurred
} else {
NSMutableDictionary<FBGraphObject> *post = [FBGraphObject graphObject];
post[@"alert"] = result[@"id"];
[FBRequestConnection startForPostWithGraphPath:@"me/<myapp>:post" graphObject:post completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
NSLog(@"startForPostWithGraphPath:graphObject:completionHandler:");
if (error != nil) {
// An error occurred
NSLog(@"Encountered an error posting to Open Graph: %@", error);
} else {
NSLog(@"OG story posted, story id: %@", result[@"id"]);
}
}];
}
}];
}
}];
}
저는이 코드를 실제로 한 번만 사용했습니다. 내 개인 Facebook 계정으로 로그인했습니다. 활동 기록으로 이동하면 내가 게시하려고하는 항목을 볼 수 있습니다. 내 사진으로 이동하면 내가 업로드하려고하는 사진을 볼 수 있습니다.내 아내의 앱/계정에서 내 프로필을 보면 내 프로필이 표시되지 않습니다.
누구나 내가 원하는대로 작동하는 코드가 있습니까?
ive 자신의 SDK를 사용하지 않았지만 (API와 직접 상호 작용 만 했음) 볼 수있는 것들은 FB 어플리케이션 범위 일뿐입니다. 또한 오류를 살펴 보았습니다 .. 오류가있을 수있는 부분을 주석 처리 된 섹션이 있습니다. – myte
@myte 필자는 말했듯이, 코드는 실제로 "성공적으로"실행되었고 여전히 예상대로 나타나지 않았습니다. 따라서 언급 할 ** ** ** 오류가 없습니다. – mbm29414