I have developed an application in C# that uses the FacebookClient class. The version if this FacebookClient is 7.0.6. First of all it is the first time i use the facebook graph api, so sorry if i ask basic questions :)
When i go to the application in developers.facebook i see a warning containing the following text:
When i use the Get method on the FacebookCient class then i am not specifying any version. The Version property of the FacebookClient is null when i read it.
So my questions are:
Shouldnt the FacebookClient class automatically use the latest version of the graph API when no version are specified? It looks like it uses v2.0 even thoug v2.6 is the newest.
How can i make sure that it always uses the newest version possible?
Since i havent so much experience with the facebook api, what is the prefered way to deal with this?
Can i use a specific version by setting the Version property to e.g. "v2.6" or .Get("/v2.6/someCall")?
You can ignore the warning, there is an open bug for this: https://developers.facebook.com/bugs/1634445133540643/
If you omit the version, it will use the API version of the App, not the latest version. It´s always the latest one if you create a new App, but it will not upgrade automatically.
Btw, there is an upgrade tool: https://developers.facebook.com/tools/api_versioning/
Related
I am trying to integrate my IM-client, written in C#, with MS Outlook 2013. I would like Outlook to receive presence information from my IM-client. First shot was to use this instruction.
It worked well in the beginning (Outlook get my interface, check for version and features, abilities to start conversation), but in the chapter "Retrieving contact presence" I've got a difference. Outlook didn't call "GetContactInformation" as described. It isn't work for neither interface returned for version "15.0.0.0" nor "14.0.0.0".
I've tried to turn on logging using OfficePresenceLogging, but it appeared to be available only for previous versions of MS Outlook. So, I used this technique, which gave me binary file "Microsoft Support Engineer has the tools to analyze".
Since I use Windows 8.1, LorParser 2.2 unable to read this file, and TraceRpt.exe is only able to give me metadata (like time or Process ID). The important part of the log is hidden beneath BinaryEventData field. I could translate those hexes to ascii and see something like a methods names and garbage.
I wonder if someone could advise me something:
Is it possible to read Office 2013 logs to troubleshoot my IM integration?
Is there any hints that could I check to find a problem?
I come up with some solution, so I want to write down an answer. I hope it can be useful for someone.
Unfortunately I failed to read Outlook 2013 logs in both Windows 8.1 and Windows 7. The only solution I've found: test the application with Office 2010 (it uses text logs). You can find instructions how to turn on logs at the end of this article.
In my case the first error I've got was:
"CMsoProviderOCom::HrEnsureContactAndGroupManager !failed! Line: 3998 hr = 0x80040200"
It seems Outlook reject all further information if something went wrong at the beginning of the integration with IM.
Check your application returns all correct values for the methods Outlook uses.
Check you've implemented all events, it seems impossible to find lack of them with debugger.
Take a look at Lync SDK. It has the similar interface (Microsoft.Lync.Model) and it's documentation looks more complete.
In my case I just forgot to mark couple of my classes with [ComSourceInterfaces()].
I have created a C# console application using visual studio 2010.
We are migrating our hosted sites a new server, and I have been set the task of checking the domains on the new server map to the same place as the domains on the old server.
I have been told do so using the following example:
https://docs.ar-soft.de/arsoft.tools.net/#DNS%20Client.html
This is all pretty new to me and I am on the edge of my understanding, but I just about understand what I need to do.
My problem is, when I add the following line of code:
DnsMessage dnsMessage = DnsClient.Default.Resolve("www.example.com", RecordType.A);
It is not recognising either the
DnsMessage
OR
DnsClient
As far as I can understand, both of these are in:
using System.Net;
Which is present on the page.
So what can I do to make this piece of code work?
This makes me think I am using the wrong type of project otherwise I cannot understand why it does not recognise these commands?
This brings me to a related side note. It seems to me I am missing something about C#, because I sometimes come across bits of code that are not recognised at all in the project I amusing, for example in some web applications I just cannot get a message box to appear, as again it does not seem to be recognised in the environment I am working in.
It seems that not all C# code can be run in all C# applications, so if this is the case, how can I tell what can be run and where?
This isn't built in. Per your documentation link, it's a 3rd party library called ARSoft.Tools.Net. You can install from NuGet:
Install-Package ARSoft.Tools.Net
You could also download the binaries from the project's codeplex site
Once I've updated my App, I got a 'warning' message from Certification test:
The app and its associated metadata does not accurately represent its functionality, capabilities, and features.
NOTE: Please update any references to SkyDrive within your app or metadata to "OneDrive (formerly SkyDrive)" by May 31.
But as I've checked I'm already using Live SDK 5.5 and I cannot see Branding.OneDrive.
As I've also checked Core API hadn't changed much (for now).
Does anybody know something about this? Or simply I need a little more patience when new SDK is released?
(I hope it's not too much off-topic)
Live SDK 5.6 is out now, but none of the code or API references have been removed. This ensures backwards compatibility with existing code written for previous versions of Live SDK. This includes the API paths, which will continue to include the term skydrive.
The store approval process is flagging UI references to Skydrive. If you have strings that are visible to the user that reference Skydrive you should replace them with references to OneDrive and resubmit your app.
I wish to use Google YouTube API. I am following this example: https://developers.google.com/youtube/v3/code_samples/dotnet#upload_a_video
I have used package manager to download the api (https://www.nuget.org/packages/Google.Apis.YouTube.v3/1.7.0.94-beta) but I see that the code doesn't work as the apis must have changed.
For example the namespaces have changed and the functions in the code is not recognised.
Does anyone know how to get this working?
I cannot leave a comment because i don't have enough reputation.
Please make sure you're using NuGet to install the latest client library and the related assemblies into your project. See https://developers.google.com/api-client-library/dotnet/get_started#setup
I use Settings.Default.MySettingName & Settings.Default.Save to save and load settings. When I change my version number how am I able to get the settings from the old version and apply to them my new version? I just can't quite figure it out.
Settings.Upgrade() looks like it has some promise - check out this post - and note that this method should be called once-and-only-once by your application.