2

以下のコードを使用して、twitvid サイトに画像をアップロードしています。しかし、私はエラーが発生しています

コードを初期化します。

- (void)awakeFromNib
{
    [super awakeFromNib];
    self.tv = [TwitVid twitVidWithSource:TwitVid_APP_ID
                                delegate:self];
}

画像をアップロードするコードは次のとおりです。

- (NSString *)authenticationHeaderForKey:(NSString *)key secret:(NSString *)secret URL:(NSString *)URL
{
    OAConsumer *consumer =  [[OAConsumer alloc] initWithKey:OAUTH_CONSUMER_KEY
                                                     secret:OAUTH_CONSUMER_SECRET];

    OAToken *token =  [[OAToken alloc] initWithKey:key
                                            secret:secret];

    OAMutableURLRequest *theRequest = [[OAMutableURLRequest alloc] initWithURL:[NSURL URLWithString:URL]
                                                                       consumer:consumer
                                                                         token:token
                                                                         realm:nil
                                                             signatureProvider:nil];
    [consumer release];
    [token release];
    [theRequest prepare];
    [theRequest autorelease];
    return [theRequest valueForHTTPHeaderField:@"Authorization"];
}

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    NSString *authHeader = [self authenticationHeaderForKey:OAUTH_TOKEN_KEY
                                                     secret:OAUTH_TOKEN_SECRET
                                                        URL:SERVICE_PROVIDER];

    self.alertView = [[[UIAlertView alloc] initWithTitle:@"Uploading"
                                                 message:@"\n \n"
                                                delegate:self
                                       cancelButtonTitle:@"Cancel"
                                       otherButtonTitles:nil] autorelease];

    if ([[info valueForKey:UIImagePickerControllerMediaType] isEqualToString:(id)kUTTypeMovie]) {
        //Video
        self.alertView.title = @"Uploading Video";
        NSString *mediaPath = [[info valueForKey:UIImagePickerControllerMediaURL] path];
        self.uploadRequest = [tv uploadWithMediaFileAtPath:mediaPath
                                                    offset:0
                                                   message:@"Your message"
                                                   mediaID:nil
                                                playlistID:nil
                                         vidResponseParent:nil
                                                  userTags:nil
                                               geoLatitude:nil
                                              geoLongitude:nil
                                                      tags:nil
                                                categoryID:nil
                                               description:nil
                                                     title:nil
                           xVerifyCredentialsAuthorization:authHeader
                                      xAuthServiceProvider:SERVICE_PROVIDER];
    }
    else {
        //Picture
        self.alertView.title = @"Uploading Picture";
        UIImage *editedImage = [info valueForKey:UIImagePickerControllerEditedImage];
        NSString *imagePath = [NSTemporaryDirectory() stringByAppendingPathComponent:@"image.jpg"];
        [[NSFileManager defaultManager] removeItemAtPath:imagePath error:nil];
        [[NSFileManager defaultManager] createFileAtPath:imagePath
                                                contents:UIImageJPEGRepresentation(editedImage, 0.8)
                                              attributes:nil];


        self.uploadRequest = [tv uploadPicWithMediaFileAtPath:imagePath
                                                      message:@"Your message"
                                                      mediaID:nil
                                                     userTags:nil
                                                  geoLatitude:nil
                                                 geoLongitude:nil
                                                         tags:nil
                                                   categoryID:nil
                                                  description:@"Image description"
                                                        title:@"Image title"
                              xVerifyCredentialsAuthorization:authHeader
                                         xAuthServiceProvider:SERVICE_PROVIDER];
    }

    [self.alertView show];

    [self dismissModalViewControllerAnimated:YES];
}

これは、twitvid サイトによって提供された正確なコードです。アプリケーション名のキーのみを変更します。

現在、以下のようにエラーが表示されています

'uploadPic' REQUEST '1i1gc0hr' DID FAIL WITH ERROR: Error Domain=TVErrorBackendDomain Code=1001 "Could not authenticate with OAuth." UserInfo=0x18ca10 {NSLocalizedDescription=Could not authenticate with OAuth.}

今、ユーザーのログインがなかったことに混乱しています。これはどのように機能しますか?

twitvid に画像や動画をアップロードする方法を教えてください。

このライブラリを使用しています: http://twitvid.pbworks.com/w/file/fetch/44841746/TwitVidSDK-iOS.zip

前もって感謝します。

シヴァム

4

1 に答える 1

0

リクエストをすでにリリースしています。クラスレベル、つまりプロパティで作成するか、これを試してください

OAMutableURLRequest *theRequest = [[[OAMutableURLRequest alloc] initWithURL:[NSURL URLWithString:URL]
                                                                       consumer:consumer
                                                                         token:token
                                                                         realm:nil
                                                             signatureProvider:nil] autorlease];

    return [theRequest valueForHTTPHeaderField:@"Authorization"];
于 2012-05-15T13:52:03.950 に答える