how can I know using Google AdWords API if an AdGroup is attached to a remarketting (audience)? - google-ads-api

Can someone please help me with that problem.
The question:
Using the API, How can I know if an AdGroup using remarketting or not ?
The reason:
I want to change the destination URL for the entire campaign with the API.
usually for normal ads which uses Keyword, I just update the keyword (using the Ad URL for keyword which don't have URL).
when having audience, since the Ads aren't triggered with a Keyword, I must change the Ads URL.
since changing A Ad URL require to delete and recreate an Ad I'm trying to avoid it when possible.
The real question:
When will Google for COL will allow us to update the Ad URLs.
And they can update the quality index if that's the problem for all I care.
Thanks for taking the time to read it,
R.g.

As an FYI, the official AdWords API forum is available here:
http://code.google.com/apis/adwords/community/
An ad group that is using remarketing will contain a BiddableAdGroupCriterion containing a CriterionUserList. There are no plans to allow for ad URLs to be modifiable.

Related

YouTube Data API - How to specify the channel you're uploading to?

I am creating an application which will be deployed on various sites and will upload videos from each site to YouTube periodically. I have already got videos uploading but ideally each site would have its own channel.
I had a search to see if anyone has encountered this issue (Don't reinvent the wheel, right?) but the only thing that I found was a couple of threads referencing the onBehalfOfContentOwner parameter detailed in the api here.
This isn't relevant to me as I'm not a content partner; at least I don't think I am. The Google API help documents then sent me here, so here I am.
I have created a YouTube brand account with, for the moment, two channels. Obviously, each one has their own channel id. So far I have tried the following:
Specifying the ChannelId when creating a Video Snippet, I couldn't see anywhere else to set it or an appropriate object to use. I tried with two different channel ids using the same OAuth credentials.
Creating two separate api projects with two unique OAuth credentials and then loading these credentials at runtime. I was only using one set of credentials throughout the lifetime of the app and then changed to the second credential set once I had tested that the upload was still working. The first credential set that I used prompted me to login and
subsequently select an account. The second set didn't prompt me at
all but the video was uploaded on the same account that I had
selected previously. I was logged out of YouTube and my browser was
closed in both instances; the browser does not store any details once it is closed.
I guess really my question is this. What is the best practice for specifying which channel you want to upload to? The application I'm using will be running automatically at set times, so I cannot have user interaction during the upload process. (Selecting an account during initial setup would be fine though!)
Any help is greatly appreciated. Thanks in advance.
EDIT:
I found that the API automatically uses an access token on the local machine if one is present in C:\Users{USERNAME}\AppData\Roaming\Google.Apis.Auth ; even if I am using a different OAuth credential in my application. Deleting the access token file will cause a login prompt to appear the next time you use the api from this machine.
For my application, this will be acceptable as when I deploy there is only the need for a one-time login and gain the access token which will then refresh every hour. It will also mean that I can choose which account/channel I am uploading to for each of our sites. Whilst I acknowledge the answer given by MαπμQμαπkγVπ.0, I do not believe that this is applicable here given that I am not a content partner as previously mentioned.
If someone can tell me how to do this through code instead of deleting the access token, that would of course be a preferred solution. (Or let me know that I am a content partner so I can try the onBehalf parameter)
I found that removing the OAuth token on the PC that my application is running on allows me to reselect the account/channel that I'm uploading to.
It appears that the authorised channel is determined using this token and once present it will automatically refresh every hour. Seeing as one PC will only ever upload to one channel for a given site, I think it is acceptable that I will have to go through a one time setup for each site to gain a token.
When you want to specify the channel you need to upload the video, i think you may need this parameter in your code:
onBehalfOfContentOwnerChannel- This parameter can only be used in a
properly authorized request. This parameter can only be used in a
properly authorized request. Note: This parameter is intended
exclusively for YouTube content partners.
The onBehalfOfContentOwnerChannel parameter specifies the YouTube
channel ID of the channel to which a video is being added. This
parameter is required when a request specifies a value for the
onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be
authorized using a CMS account that is linked to the content owner
that the onBehalfOfContentOwner parameter specifies. Finally, the
channel that the onBehalfOfContentOwnerChannel parameter value
specifies must be linked to the content owner that the
onBehalfOfContentOwner parameter specifies.
This parameter is intended for YouTube content partners that own and
manage many different YouTube channels. It allows content owners to
authenticate once and perform actions on behalf of the channel
specified in the parameter value, without having to provide
authentication credentials for each separate channel.

POSTing to Google Sheets - Access Token

At the moment I have created two versions of my app - for iOS and Android - Where I use the OAuth workaround of posting to a Google Form to indirectly add to a Google Sheet.
However, I am now planning to remake the app in Google's Flutter (using Dart of course), and would prefer to use the proper direct way of POSTing to the sheet (it will simplify the situation for my client), but am having trouble trying to figure out how to do it.
I've found a simple explanation of how to to do the POSTing, but it requires an Access Token - what appears to just be a string.
After searching for an explanation of this, all I've found is explanations of how to create an OAuth token for the user using the app, but I just want to be able to post from within the app - totally separate from the user.
I guess I want a 'static' token that will just allow me to post to my sheet from my app indefinitely - is this possible, and can someone please explain it to me?
It sounds like you want to use what Google calls a service account for access to a sheet that belongs to your app rather than user's account for access to a sheet that belongs to a user.
https://developers.google.com/identity/protocols/OAuth2ServiceAccount

How to distinguish between a Google Doc and Spreadsheet with the URL?

Is it possible to tell if a URL links to Google Sheets, Google Docs, or another Google app from the sharable link?
The app I am working on allows users to share links, but Safari on iOS devices doesn't seem to handle these links very well. To help ease our users pain, we would like to directly open the link in Sheets, Docs, or whatever other Google app works best, should it already be installed. I have been able to accomplish this by editing the link provided, replacing:
https://
with:
googledocs://
or:
googlesheets://
However, based on the sharable links, it's hard to tell if the link is a Google Doc, Google Sheet, or something else all together. I originally thought Google Sheets used sheets.google.com, but after testing out this change, I realized both Sheets and Docs use docs.google.com for their sharable links. If the wrong app is opened, Google Sheets or Docs will throw an error saying it cannot open the file.
Is there a simple way to make this distinction and ensure the appropriate Google app opens for any given sharable link?
Definitely not from the shareable link. The shareable link is basically just a redirect to the actual document. It's a hash that's generated independently from the original document that is intentionally obfuscated to prevent malicious parties from guessing them.
The only way to know what's on the other side of the link is to visit it or use the Google Drive API to query the document for info.

Does google maps need api key for IOS application (and why)

I saw in this link
http://codewithchris.com/iphone-app-connect-to-mysql-database/#connectiphonetomysql
Mr. Chris uses a google map without a key.[I've tried it and it's working]
but, when i enter google developer
Here: https://developers.google.com/maps/ios/
they say [get a key].
(why should i do it? i got confused)
if it's required to run it in my app, how can Chris did it?
pre-Thanks ^^.
Yes Google map needs API key, without API key your request will be failed.
WHY: Every app is unique with its bundle ID, API key provided by google is used to identify the app uniquely.
There are so many paid services are offered by google to used in our app, App id used to manage your account based on request to API made/ package selected by you.
It also helps you to analyse use of google API through your app, which may may help you plan out your furthuer updates/usage to your App.

Find Adwords ads from a specific website?

Is it possible with the Google Adwords API to get ads (both text and images) from any website, even if I don't own it?
For example, I'd like to see all ads that www.website.com does. Is there a way to extract that data?
There are sites online that do it, so there must be a way, any idea?
AdWords API only displays the Ads that you have created.
For any given AdWords account, there has to be a Campaign, which have AdGroups, which have the Ads and the user can only access Ads within that particular account.

Resources