facebook api v2.0 get friends picture and birthday - asp.net

Developer update and I have a problem, I need friends picture and birthday but friends data array is not contained Object Fields birthday and picture, data contain only id and name.
It is not a permission problem, I have all permission but it does not work.
When I open Graph Explorer, select friends query is "me? fields=friends" friends don't have Fields.
What is the solution to the problem?

With the new V2.0 API you must use the user_friends permission. It will only return the friends that also use your app, and only the name and ID. So not the complete list of friends.
As you can read in the V2.0 changelog, all other friends_* permissions are removed. Among which, the birthday and picture.
https://developers.facebook.com/docs/apps/changelog#v2_0_permissions
If you want the profile picture, you can use /me/taggable_friends or /me/invitable_friends. That will return a bit more info.

Related

How to structure a like query in Firestore?

I'm building a simple application where posts appear on a user's home page and he can like or unlike them.
first when there were no users in the applications, I made a simple boolean field "liked", as shown in the figure, to determine if a post is liked or un-liked. However, when I started working with users, I find it hard to find the perfect structure for the likes field.
In Firestore, I added a field named "likedBy" for each post, which contains a map with a key of each user's id and a boolean to determine if the user liked the post or not.
I don't know if this structure is suitable or not, and if not, is there a better way to reach my goal?
The likedBy field is enough to cover most use cases.
Just store in likedBy an array of all users who liked the post by user ID. When a user likes - add the user ID to the array and remove it upon unlike.
That means you can also remove the likes and liked field as you can get it from reading the likedBy array.
I would recommend going one step further and save more than the User ID. You could also save the User displayName and photoUrl. That way, you don't need to read ($$$$money$$$$) the documents of every Users who liked Posts in order to display their name and/or avatar.

Is there a method to find the values of an array from a collection in a separate collection in Firestore?

I have two collections users and uploads. The user collection shows details about the users that have registered to the app. It contains details about the user such as name, userid and following which is an array. The following array contains list of people that the user is following as shown here.
The uploads collection has the posts that are made by the users. Each document in the uploads collection has details such as the postid, post and name of the user who posted it as shown here.
I want to get only the uploads made by the users whom they are following.
For example, Sally follows three people Sam, Thomas and Ellie. I want Sally to get only the uploads that
are made by either of these three people from the uploads collection. Any help would be appreciated. Thank You
I think this might be what you're looking for. You could fetch the users' following array and then use that array to fetch uploads containing people from the following. As a sidenote I'd recommend the userId instead of the name of the user as these might not be unique.

InfoPath - How can I read a people picker field and query AD to load additional fields related to the person in the field.

How can I read a people picker field and query AD to load additional fields related to the person in the field. Example: Employee Name; load information want to load email address, phone number. the InfoPath form is being used with Nintex Workflow and SharePoint 2010.
I have searched and have not been able to find answer.
Thanks
D
Unfortunately I don't have enough reputation points yet to leave a comment, but your question really doesn't provide enough detail. So any answer provided is going to be based on assumptions. You don't even clarify what version of InfoPath you're using.
That said, a good place to start is to create a data connection to receive data. You'll need to select the web service option and will then need to enter in the web server address. The address will probably be in the following format:
http://yourservernamehere/_vti_bin/userprofileservice.asmx?wsdl
Replace yourservernamehere with the address of your SharePoint server. Then, you'll need to select GetUserProfileByName as the operation you need. Just keep on clicking next and then finish to complete the connection.
You will then have to view the data source within InfoPath to see what fields are available and map the ones you want to the fields you want prepopulated on your form.
All this is based on my own assumptions, so I can't guarantee it will work in your scenario. Happy to assist if you still need help and are able to provide more details.
To autocomplete you can use your e-mail or phone number fields, with a new action rule. This is due to people picker fields not allowing any action rules applied to them.
The web service option mentioned in another answer unfortunately no longer works in SharePoint Online. Please use a data connection the hidden User Information List located on the stem of your SharePoint site instead.
Condition:
Use the condition DisplayName is not blank by using "Select a field or group..." in advanced view and selecting your people pickers DisplayName field
Actions:
Set a field's value
Field: User Information List data connection queryFields DisplayName of people picker
Value: your forms DisplayName of people picker
Query using a data connection: User Information List data connection
Set a field's value
Field: your forms email or phone number field
Value: data fields > Work_email / Work_phone of your data connection

How to retrieve date of birth of all connections in linkedIn API?

I want to get the date of birth of connections using LinkedIn api.I got some informations using
http://api.linkedin.com/v1/people/~/connections:(headline,first-name,last-name,location)
If i am trying to add dateOfBirth or date-of-birth parameter to this api but it is not working. Can anyone please help me to get the date of birth of all connections?
headline,first-name,last-name,location are comes under basic profile but date-of-birth comes under full profile. So you have add the permission(r_fullprofile) for this one. Try Like this
NSArray *grantedAccess = #[#"r_basicprofile ",#"r_fullprofile", #"r_network"];
According to this document, you will need to apply to be able to retrieve the full profile information, like date of birth:
Member profile fields available to Apply with LinkedIn developers
The following selection of profile fields are only available to applications that have applied and been approved for the Apply with LinkedIn program:
Full Profile Fields
(...)
For more information, visit the Apply with Linkedin page.
Note: This is an old question but things may have changed, so this is for future reference.

Implement "follow person, post" feature in asp.net mvc

In any social network, you can follow a person, a post or anything, everything you followed will be displayed in your wall, now I wanna implement the same feature in asp.net mvc, but I have problem on design table to query all following things of a user. This is tables I designed:
[User(id,name,email,password)]
[Following(id,personId,followingId,source)]
[Post(id,title,description,authorId)]
So when a user followed other user,a new record will be pushed on Following table with followingId is userId, and source is "User" table, the same as with following a post with followingId is postId and source is "Post" table.
The problem is when fetch data from what your following, the query join many tables to return result if user followed more things than a Post, and Other User (such as a Tag, a Topic...). this will be not good performance and query time to return data to user.
Do you have any idea about this ? I'm very appreciate to hear your solution, thanks a lot!
Your database design is flawed, instead of one "link" table with a string to identify where the "Followed thing" resides makes it hard to query effectively.
Instead you need one link table per thing linked. SO in your simplified example you might have
[User(id,name,email,password)]
[Post(id,title,description,authorId)]
[UserFollowingUser(id, userId, followedUserId]
[UserFollowPost(id,userId,postId)]
Therefore to get all users following a post, or all posts followed by a user, or get all users following a particular user, or get all users followed by a particular user is easy as pie.

Resources