GetSavedSearches - Does not work

Mar 18, 2015 at 5:28 PM
Over the last 4 weeks, I have been on a learning curve, as normally i'm not normally a software developer. I've learnt a lot and many problems that I once had. Have been fixed. SavedSearches function does not seem to work, has Twitter changed something in the API? The application gets an exception, even if it its implemented as per the instructions of the documentation.
Coordinator
Mar 19, 2015 at 12:52 AM
Hi,

Good to see you back here. I will have a look into the issue, but could you be more precise which method isn't working as you expect?

Regards,
Linvi
Coordinator
Mar 19, 2015 at 1:16 PM
Hi again,

I need more details concerning your problem because everything is working alright when I am testing it.
  • Which method does not work?
  • What is the exception log?
Linvi
Thanks
Mar 20, 2015 at 2:27 PM
Exception: A first chance exception of type 'Autofac.Core.Registration.ComponentNotRegisteredException' occurred in Autofac.dll.

Code:
var loggedUser = User.GetLoggedUser();
        var savedSearches = loggedUser.GetSavedSearches();

        Console.WriteLine("Saved Searches");
        foreach (var savedSearch in savedSearches)
        {
            Console.WriteLine("- {0} => {1}", savedSearch.Name, savedSearch.Query);
        }
Is there a name space missing?

Tried: using Tweetinvi.Core.Interfaces.Models;
Coordinator
Mar 20, 2015 at 2:58 PM
Hi,

This is a very serious issue that you have here. It means that a feature in the application was not registered and therefore not accessible.

I am not able to reproduce your problem. Therefore I need 3 additional information:
  • Full Error Stack -> you just gave me the Exception, I need to have the entire stack.
  • Which version of Tweetinvi are you using?
  • Do you have the same issue if you do the following : var lists = SavedSearch.GetSavedSearches();
Thank you for reporting the issue.
Linvi
Mar 20, 2015 at 3:14 PM
Using the nuGet version: 9.3.4
Tried: var lists = SavedSearch.GetSavedSearches(); - Does the same.
I'll PM error stack to you.
Coordinator
Mar 20, 2015 at 3:20 PM
Hmmm,

Could you try updating the library to the latest ?

Nuget - Package Manager Console > Update-Package TweetinviAPI

Regards,
Linvi
Marked as answer by linvi on 3/20/2015 at 9:14 AM
Coordinator
Mar 20, 2015 at 3:29 PM
I can confirm that it is a bug of Tweetinvi 0.9.3.4.

Please let me know if you can upgrade to the latest version of Tweetinvi.
Sorry for this issue.

Linvi
Marked as answer by linvi on 3/20/2015 at 9:13 AM
Mar 20, 2015 at 3:34 PM
✔ Working now that it is updated ;)

Mar 20, 2015 at 3:35 PM
Two weeks to go till the show case, your library underpins the core functionality of the app. You have been credited! How easy is it to run a json query that is not part of TeetInvi?

Coordinator
Mar 20, 2015 at 4:04 PM
Edited Mar 20, 2015 at 4:09 PM
Hehe good good good,

Well you can have a look into the post just right after yours (https://tweetinvi.codeplex.com/discussions/588444).

It depends on whether the Model that you are trying to get already exist in Tweetinvi.
  • If it does, then you can simply do the following:
// Getting Tweets from Timeline
var tweets = TwitterAccessor.ExecuteGETQuery<IEnumerable<ITweetDTO>>("https://api.twitter.com/1.1/statuses/home_timeline.json");
  • If it does not exist then you need to create a model where you specify some JsonProperty as followed
// Model
public class TwitterConfiguration
{
    // Basic property
    [JsonProperty("characters_reserved_per_media")]
    public int CharactersReservedPerMedia { get; private set; }

    // List of items
    [JsonProperty("non_username_paths")]
    public string[] NonUsernamePaths { get; private set; }

    // Using existing Tweetinvi Models
    [JsonProperty("photo_sizes")]
    public Dictionary<string, MediaEntitySize> PhotoSizes { get; private set; }
}
And then do the same as the first example but with your Model :
var configuration = TwitterAccessor.ExecuteGETQuery<TwitterConfiguration>("https://api.twitter.com/1.1/help/configuration.json");
Fairly easy right?

Cheers,
Linvi
Mar 20, 2015 at 4:17 PM
Thank You,

I have been asked to clarify the 3200 Tweets limit. Because another application claims it can get 'all' tweets using TweetSharp. The other application being Twitter Forensics by Afentis.
Would you agree that when they say 'all' that they really mean 3200 - because of the API restriction?

Coordinator
Mar 20, 2015 at 4:26 PM
Edited Mar 20, 2015 at 4:28 PM
As far as I am aware there is no way to get more than 3200 tweets.

Twitter provide some elevated privileges in exchange for money. I have never heard of any privilege to get more than 3200 but you might want to contact the Twitter team.

Request Webpage:
https://support.twitter.com/forms/platform

Email :
data-sales@twitter.com

Cheers,
Linvi
Mar 20, 2015 at 5:09 PM
Is there a way to capture images from a users timeline?

Coordinator
Mar 20, 2015 at 5:13 PM
I am not sure what you mean by capture images.
If you mean get tweet images, then you just need to use the Tweet.Entities/ExtendedEntites and select the Media.
Then you'll have to download the image from the URL of each of the media.

Cheers,
Linvi