Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

how to upload image in flickr #62

Closed
ArjunSa786 opened this issue Aug 20, 2015 · 16 comments
Closed

how to upload image in flickr #62

ArjunSa786 opened this issue Aug 20, 2015 · 16 comments

Comments

@ArjunSa786
Copy link

        var context :OFFlickrAPIContext = OFFlickrAPIContext(APIKey:  Flickr["consumerKey"], sharedSecret:  Flickr["consumerKey"])

        var request : OFFlickrAPIRequest  = OFFlickrAPIRequest(APIContext: context)

        request.delegate = self

        var imagedta = UIImageJPEGRepresentation(self.m_ShareImage, 0.5)
        var imageStream : NSInputStream = NSInputStream(data: imagedta)
        request.uploadImageStream(imageStream, suggestedFilename: "footer.jpg", MIMEType: "image/jpeg", arguments: NSDictionary(objectsAndKeys:"1","is_public") as [NSObject : AnyObject])

i am using this but not working not posted

@ArjunSa786 ArjunSa786 changed the title how toupload image in flickr how to upload image in flickr Aug 20, 2015
@lukhnos
Copy link
Owner

lukhnos commented Aug 20, 2015

You'll need to make the request object an instance variable somewhere (like your controller class) – here your request is a local object, and it's immediately released at you exit the scope. As a result, the OFFlickrAPIRequest will cancel the scheduled HTTPS request, and therefore nothing is being sent.

@lukhnos lukhnos closed this as completed Aug 20, 2015
@ArjunSa786
Copy link
Author

any example code in swift?

@lukhnos
Copy link
Owner

lukhnos commented Aug 21, 2015

any example code in swift?

Unfortunately, not at this point, but pull requests are welcome. :)

@ArjunSa786
Copy link
Author

screen shot 2015-08-24 at 12 54 43 pm

this error show me when upload image ??

@ArjunSa786
Copy link
Author

i solve my issue, thanks.now its work in swift :)

@nasreekar
Copy link

@ArjunSa786 hi Arjun.. can you please help me how to upload image from local folder to Flickr in swift

@ArjunSa786
Copy link
Author

hi nasreekar..

func flickrRequest() -> OFFlickrAPIRequest
{
if flickrRequestt.isEqual(nil)
{
flickrRequestt = OFFlickrAPIRequest(APIContext: self.flickrContextt)
flickrRequestt.delegate = self
}
return flickrRequestt
}

@objc func flickrContext() -> OFFlickrAPIContext
{
    if !flickrContextt.isEqual(nil)
    {
        flickrContextt = OFFlickrAPIContext(APIKey: "------", sharedSecret: "---------")

        var authToken:String = NSUserDefaults.standardUserDefaults().objectForKey(kStoredAuthTokenKeyName) as! String

        var authTokenSecret:String = NSUserDefaults.standardUserDefaults().objectForKey(kStoredAuthTokenSecretKeyName) as! String

        if (authToken.length() > 0) && (authTokenSecret.length() > 0)
        {
            flickrContextt.OAuthToken = authToken
            flickrContextt.OAuthTokenSecret = authTokenSecret
        }
    }
    return flickrContextt
}

func setAndStoreFlickrAuthToken(var inAuthToken:NSString ,var inSecret: NSString)
{
    if (inAuthToken.length) != 0  || (inSecret.length) != 0
    {
        self.flickrContextt.OAuthToken = nil
        self.flickrContextt.OAuthTokenSecret = nil
        NSUserDefaults.standardUserDefaults().removeObjectForKey(kStoredAuthTokenKeyName)
        NSUserDefaults.standardUserDefaults().removeObjectForKey(kStoredAuthTokenSecretKeyName)
    }
    else
    {
        self.flickrContextt.OAuthToken = inAuthToken as String
        self.flickrContextt.OAuthTokenSecret = inSecret as String
        NSUserDefaults.standardUserDefaults().setObject(inAuthToken, forKey: kStoredAuthTokenKeyName)
        NSUserDefaults.standardUserDefaults().setObject(inSecret, forKey: kStoredAuthTokenSecretKeyName)

    }
}



func flickrAPIRequest(inRequest: OFFlickrAPIRequest!, didObtainOAuthAccessToken inAccessToken: String!, secret inSecret: String!, userFullName inFullName: String!, userName inUserName: String!, userNSID inNSID: String!)
{
    self.setAndStoreFlickrAuthToken(inAccessToken, inSecret: inSecret)
    self.flickrRequestt.sessionInfo = nil

}

func flickrAPIRequest(inRequest: OFFlickrAPIRequest!, didObtainOAuthRequestToken inRequestToken: String!, secret inSecret: String!) {

}
func flickrAPIRequest(inRequest: OFFlickrAPIRequest!, didCompleteWithResponse inResponseDictionary: [NSObject : AnyObject]!)
{
    if (inRequest.sessionInfo) as! String == kCheckTokenStep
    {
    }
    self.flickrRequestt.sessionInfo = nil
}



func flickrAPIRequest(inRequest: OFFlickrAPIRequest!, didFailWithError inError: NSError!)
{

}

// MARK: - Share on Flickr
@IBAction func act_FlickrShare(sender: AnyObject)
{

    self.flickrContextt.OAuthToken = nil
    self.flickrContextt.OAuthTokenSecret = nil
    NSUserDefaults.standardUserDefaults().removeObjectForKey(kStoredAuthTokenKeyName)
    NSUserDefaults.standardUserDefaults().removeObjectForKey(kStoredAuthTokenSecretKeyName)

    let oauthswift = OAuth1Swift(
        consumerKey:    Flickr["consumerKey"]!,
        consumerSecret: Flickr["consumerSecret"]!,
        requestTokenUrl: "https://www.flickr.com/services/oauth/request_token",
        authorizeUrl:    "https://www.flickr.com/services/oauth/authorize",
        accessTokenUrl:  "https://www.flickr.com/services/oauth/access_token"
    )
    oauthswift.authorizeWithCallbackURL( NSURL(string: "oauth-swift://oauth-callback/flickr")!, success: {
        credential, response in
        self.flickrContextt.OAuthToken = credential.oauth_token as String
        self.flickrContextt.OAuthTokenSecret = credential.oauth_token_secret as String
        self.OauthToken = credential.oauth_token as String
        self.OauthSecretToken = credential.oauth_token_secret as String
        if !self.flickrContextt.isEqual(nil)
        {
            self.flickrRequestt = OFFlickrAPIRequest(APIContext: self.flickrContextt)
            self.flickrRequestt.delegate = self
            self.flickrRequestt.requestTimeoutInterval = 60.0;

        }
        NSUserDefaults.standardUserDefaults().setObject(credential.oauth_token as String, forKey: "FlickrOAuthToken")
        NSUserDefaults.standardUserDefaults().setObject(credential.oauth_token_secret, forKey: "FlickrOAuthTokenSecret")
        self.flickrRequestt.sessionInfo = kUploadImageStep
        var imagedta = UIImageJPEGRepresentation(self.m_ShareImage, 0.5)
        var imageStream : NSInputStream = NSInputStream(data: imagedta)
        self.flickrRequestt.uploadImageStream(imageStream, suggestedFilename: self.m_ShareTextMsg, MIMEType: "image/jpeg", arguments: NSDictionary(objectsAndKeys:"1","is_public") as [NSObject : AnyObject])
        UIApplication.sharedApplication().idleTimerDisabled = true

        }, failure: {(error:NSError!) -> Void in

    })


}

@nasreekar
Copy link

@ArjunSa786 thanks arjun.. will try to implement this code and check once
any special permissions or keys required before i implement this code?

@ArjunSa786
Copy link
Author

Yeah key is required.
On Feb 10, 2016 1:02 PM, "Abhijith Sreekar" notifications@github.com
wrote:

@ArjunSa786 https://github.com/ArjunSa786 thanks arjun.. will try to
implement this code and check once
any special permissions or keys required before i implement this code?


Reply to this email directly or view it on GitHub
#62 (comment)
.

@nasreekar
Copy link

@ArjunSa786 I already implemented flickr search API using the key and secret.. can i use them or do i have to create a new one again for the upload API Authentication?

@ArjunSa786
Copy link
Author

@nasreekar use same

@nasreekar
Copy link

@ArjunSa786 hi arjun.. can i get ur personal mail id so that i can actually say what i have to do?

@ArjunSa786
Copy link
Author

send ur email id.

@nasreekar
Copy link

@ArjunSa786
Copy link
Author

ok

@ArjunSa786
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants